Function at 0x684633
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp]
sub esp, 4
mov dword [esp], ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
push esi
mov esi, 0x77cf0a22
push eax
mov dword [esp], ecx
push 0x27d83388
mov dword [esp], edx
mov edx, 0x7d7e92d6
push edx
jmp 0x684736
mov dword [esp], ebx
mov ebx, 0x37cf5583
sub ebx, 0x7dffb087
inc ebx
xor ebx, 0x3dfbde06
and ebx, 0x35ef2e00
neg ebx
push edx
mov edx, 0x1fa64951
jmp 0x68488a
mov edx, dword [esp]
add esp, 4
add esp, 4
xchg edx, eax
not edx
jmp 0x684653
mov edx, ecx
jmp 0x6846d3
shl ebp, 2
shr ebp, 1
xor ebp, 0x7f5f0b27
add ebp, 0xe4ab846b
or ebp, 0x7eefdb00
jmp 0x684c74
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x4f3b927c
add eax, 0x5effafe3
jmp 0x6847da
mov ecx, 0x597e1d75
or ecx, 0x5baf114e
sub ecx, 0x97959368
add eax, ecx
pop ecx
push edi
mov edi, eax
jmp 0x68492e
mov eax, 0x38de49f7
sub edx, eax
pop eax
pop esi
push edx
mov edx, 0x76b722be
xchg edx, ecx
not ecx
xchg edx, ecx
push eax
mov dword [esp], ecx
push ebx
push ebp
mov ebp, 0x5fdf4383
jmp 0x6845b3
sub ebx, ecx
push ecx
push ebx
pop ecx
pop ebx
mov ebx, dword [esp]
jmp 0x684af0
add edx, 0x7edff22b
xor edx, 0x5d6e1d
push edx
push ecx
jmp 0x684751
mov esi, ebp
pop ebp
add eax, esi
jmp 0x684a50
dec edi
jmp 0x6843f2
push ebp
jmp 0x684c52
pop esp
mov dword [esp], eax
push 0x2603c9a5
jmp 0x684c45
shr ecx, 8
jmp 0x6844ad
add ebp, 4
push 0x7e276414
jmp 0x684b30
push dword [ecx]
jmp 0x684788
pop esp
jmp 0x6845c8
sub edi, 0x54fff5fe
shr edi, 7
jmp 0x684d2b
push edx
jmp 0x6845fc
mov eax, 4
add ebp, eax
pop eax
sub ebp, 4
xchg dword [esp], ebp
jmp 0x6843ec
push edx
mov edx, 0x5ffb53f7
neg edx
push edx
not dword [esp]
pop edx
add edx, 0x3e3bbdab
sub edx, 0xbb4798b7
sub edi, edx
jmp 0x6846ab
xor ecx, 0x100a505
and edx, ecx
pop ecx
jmp 0x6846f0
pop ecx
mov eax, esi
pop esi
push ecx
mov ecx, 0x13f79547
add ecx, 0x6fe6a5ea
neg ecx
and ecx, 0x6e3fa7d9
add ecx, 0x3ff6ca84
or ecx, 0x4ffa4189
xor ecx, 0x9059a8d7
jmp 0x6844a1
xor eax, ecx
pop ecx
push eax
dec dword [esp]
jmp 0x68498a
inc ecx
push eax
mov eax, 0x7adf2638
add ecx, eax
pop eax
mov edx, ecx
jmp 0x684922
push 0x39f70f71
pop ebp
jmp 0x6847cc
xor edi, 0x804b696
sub ecx, edi
pop edi
jmp 0x6848f4
mov dword [esp], 0x7beeeaa6
jmp 0x68441b
sub edi, 0x2d9d91ff
pop edx
push edi
mov edi, 0x7fffdc31
jmp 0x684501
sub edi, 0x7fff9d74
push dword [esp]
jmp 0x684bcd
add esp, 4
xor ecx, edx
mov edx, dword [esp]
add esp, 4
add ebx, 0x7efb2bdc
add ebx, ecx
sub ebx, 0x7efb2bdc
jmp 0x68461e
mov edx, 0x7ffbb300
dec edx
sub edx, 0x7fee4b30
jmp 0x684b22
push edi
mov dword [esp], 0x36ca0100
mov dword [esp], esi
push ebx
mov dword [esp], 0x7fdbf4f3
jmp 0x6847a5
sub esi, 0x7f93f18d
push 0x3c08494d
mov dword [esp], ecx
jmp 0x6845a7
mov ecx, 0x73fe7a4f
sub esi, ecx
jmp 0x6847be
shl ebp, 1
add ebp, 0x9a40a5ec
mov ebx, ebp
mov ebp, dword [esp]
push ebx
push esp
jmp 0x684c60
mov dword [esp], edi
mov dword [esp], ecx
push edx
push 0x7625a397
mov dword [esp], ecx
mov ecx, 0x7e538d87
sub ecx, 1
shl ecx, 7
or ecx, 0x7befd8b0
add ecx, 0xffffffff
shl ecx, 3
xor ecx, 0x8350f6f9
jmp 0x6842be
push ecx
mov ecx, 0x3bf59129
mov edx, ecx
pop ecx
add dword [esp + 4], 0x6f6f55cf
add dword [esp + 4], edx
sub dword [esp + 4], 0x6f6f55cf
jmp 0x684679
push dword [esp]
pop ecx
add esp, 4
push 0x4b7a41f7
jmp 0x684882
pop edi
push ebp
mov ebp, esp
push eax
jmp 0x684421
xchg edx, eax
push edx
mov edx, 0x75fe8766
inc edx
and edx, 0x3efdcdc3
add edx, 0x77fae402
sub edx, 0x30f8acae
add eax, 0x7bad4664
add eax, edx
jmp 0x684829
pop edx
xor dword [esp], 0x7f5d9fea
sub dword [esp], 0x7df7f831
push ecx
mov ecx, 0x5d6facb7
or dword [esp + 4], ecx
pop ecx
jmp 0x6849bd
pop edx
add ebx, edi
pop edi
jmp 0x684632
pop edi
add esp, 4
shl eax, 8
sub esp, 4
mov dword [esp], edx
mov edx, 1
sub eax, edx
push dword [esp]
jmp 0x6842a7
pop ecx
push 0x6ff58788
mov dword [esp], esi
mov esi, 0x7e75f08b
push edi
mov edi, 0x3368c8dd
sub esi, edi
pop edi
push esi
jmp 0x68475f
push 0x2ea5cbf3
mov dword [esp], edx
not dword [esp]
pop edx
and edx, 0x7eff213e
push eax
mov eax, 0x68d595f2
xor edx, eax
push dword [esp]
pop eax
add esp, 4
mov ebx, edx
pop edx
jmp 0x684df5
mov dword [esp], eax
push ebx
mov dword [esp], esi
push 0x7feb5bc0
pop esi
jmp 0x684740
pop ecx
pop edx
sub esp, 4
jmp 0x684268
neg esi
or esi, 0x6f9fb2b4
sub esi, 0xffffffff
push ecx
jmp 0x684963
mov ecx, 0x69ee3d10
sub dword [esp + 4], ecx
jmp 0x68484c
mov ecx, dword [esp]
jmp 0x68481b
pop esi
push edx
add dword [esp], 0x2d9d91ff
pop edi
jmp 0x684527
push dword [esp]
mov ebx, dword [esp]
add esp, 4
push 0x59073354
mov dword [esp], edi
jmp 0x684a03
mov esi, dword [esp]
add esp, 4
jmp 0x684594
pop ecx
jmp 0x684a3e
shl ebp, 7
xor ebp, 0xfb87b884
jmp 0x684369
sub eax, ecx
sub eax, 0x5effafe3
pop ecx
sub eax, 0x77feef0e
sub eax, esi
jmp 0x684a87
add ebp, 4
xchg dword [esp], ebp
pop esp
pop edi
push 0x681ef0db
mov dword [esp], ecx
jmp 0x684c0a
xor edx, 0x76c06fad
add ebx, edx
pop edx
sub ecx, ebx
jmp 0x6848d1
add esp, 4
mov esi, dword [esp]
jmp 0x684547
sub eax, 0x7bad4664
pop edx
push edi
mov dword [esp], ecx
mov ecx, 0xb758b40d
sub eax, ecx
pop ecx
xor ebx, eax
pop eax
sub esp, 4
mov dword [esp], esi
mov dword [esp], edi
jmp 0x68496f
pop ecx
mov eax, dword [esp]
add esp, 4
add eax, 0x69ee3d10
pop edx
push ecx
jmp 0x684307
xor edx, 0x56d34cb1
not edx
xor edx, 0x329d2cde
xor edx, 0x9f0800a5
add ebp, edx
pop edx
sub ebp, 0x77fb5ac7
dec ebp
jmp 0x684b4a
mov dword [esp], edx
jmp 0x68450f
shr edx, 1
jmp 0x68480b
push esi
mov dword [esp], ebp
jmp 0x684ae9
sub ebx, 0x6f972279
push eax
push 0x7dbc044c
pop eax
sub ebx, eax
pop eax
sub ebx, edi
push 0x70145a0f
mov dword [esp], edx
jmp 0x68490e
pop ebx
sub ecx, 0x15b5f7b8
push ebx
mov ebx, 0x2efcbbdd
or ecx, ebx
pop ebx
sub esp, 4
mov dword [esp], ebx
mov ebx, 0
jmp 0x684348
sub ecx, edi
add ecx, 0x77fb6aa7
mov edi, dword [esp]
push eax
push esp
pop eax
add eax, 4
push esi
push ebp
jmp 0x6844e8
push 0x7dbc044c
pop edx
add ebx, edx
pop edx
add ebx, 0x6f972279
jmp 0x684bee
pop ecx
jmp 0x68485f
mov ebx, edi
push dword [esp]
mov edi, dword [esp]
add esp, 4
jmp 0x684c20
mov ecx, 0x3e1001f1
add esi, ecx
jmp 0x684472
push ecx
mov ecx, 0x7ebf8ee7
mov edi, 0xfab6eee7
jmp 0x684afb
pop eax
or eax, 0x7e6fa48b
push eax
not dword [esp]
pop eax
push 0x51cc35
mov dword [esp], esi
mov esi, 0x43444a94
sub eax, 0x17ff3652
jmp 0x6842e2
xor dword [esp], 0x2d592752
dec dword [esp]
push eax
jmp 0x6849cd
mov eax, 0xffffffff
sub dword [esp + 4], eax
pop eax
push 0x137e221c
mov dword [esp], ebx
mov ebx, 0x250ddb59
xor dword [esp + 4], ebx
pop ebx
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x17301c8b
xor dword [esp + 4], ecx
jmp 0x684a27
push esp
pop edi
add edi, 4
push ebp
mov ebp, 0x37d2dbcd
and ebp, 0x7fbeaab9
push ebp
mov dword [esp], edx
push ecx
push 0x5f939c58
pop ecx
jmp 0x6843b3
pop ecx
mov dword [esp], ecx
mov dword [esp], ebp
mov dword [esp], ebx
pop dword [ecx]
push edi
push 0x42535600
jmp 0x684a7f
inc esi
add esi, 0xb2022c5c
push eax
mov eax, esi
push eax
pop edx
pop eax
jmp 0x684779
pop esi
xchg dword [esp], eax
pop esp
push ecx
jmp 0x68471c
add ebp, ecx
add ebp, 0x3fbefac3
jmp 0x684224
shr ecx, 5
sub ecx, 0x739db0a8
jmp 0x684b9a
mov dword [esp], edx
jmp 0x68457c
add eax, 0x77feef0e
push ebp
mov ebp, 0x4f3b927c
add eax, ebp
pop ebp
add eax, 0x17ff3652
mov esi, dword [esp]
add esp, 4
sub ecx, 0x4fba28da
add ecx, eax
add ecx, 0x4fba28da
pop eax
jmp 0x684ad1
push ebx
jmp 0x684ca8
sub edx, 1
jne 0x6843dc
sti
push 0x714156a8
push dword [esp]
pop eax
jmp 0x684892
push esp
pop ebp
jmp 0x6843bb
add esp, 4
jmp 0x684a71
sub edi, ecx
pop ecx
shl edi, 1
push esi
mov esi, 0xffffffff
jmp 0x684b69
push ebp
mov ebp, esp
add ebp, 4
jmp 0x6847f6
shr edx, 4
and edx, 0x6f257651
jmp 0x684356
mov dword [esp], ecx
push edx
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
jmp 0x68438d
add ebp, 0xc0e1a963
add edi, 0x7fff9d74
add edi, 0x7fef73f6
add edi, ebp
push edx
mov edx, 0x7fef73f6
jmp 0x684c6c
sub edi, esi
pop esi
push esi
mov esi, 0x7d28cf3a
sub edi, esi
pop esi
sub ebx, 0x73df6fbe
jmp 0x68489b
mov edx, ecx
push dword [esp]
pop ecx
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
add edx, 0x38de49f7
add edx, esi
push eax
jmp 0x684323
mov ebp, dword [esp]
add esp, 4
add esp, 4
xchg dword [esp], edi
mov esp, dword [esp]
push edx
mov dword [esp], eax
push esi
mov dword [esp], edi
mov edi, 0x4dee0dca
jmp 0x684373
push 0x8670b81
mov dword [esp], edi
mov edi, 0x56cee8a7
sub edi, 0xffffffff
jmp 0x684434
pop edx
inc ecx
jmp 0x684464
mov dword [esp], 0x2419de5f
mov dword [esp], ebx
push eax
sub esp, 4
mov dword [esp], edx
jmp 0x68456b
add esp, 4
pop eax
xor edx, ebx
push dword [esp]
pop ebx
jmp 0x684c91
pop eax
not eax
and eax, 0x27febf97
jmp 0x684387
mov ebp, 0x71b7d15f
shl ebp, 2
dec ebp
jmp 0x6842c5
pop ebx
push eax
mov eax, 4
jmp 0x684cb5
sub edi, edx
pop edx
jmp 0x684539
and ebp, 0x5f7bdc09
and ebp, 0x72b73997
sub ebp, 0x5026e1f2
sub eax, ebp
pop ebp
mov ecx, eax
pop eax
jmp 0x684acb
push eax
mov eax, esp
push ecx
jmp 0x684cf4
mov ebx, 0x3fbefac3
sub ebp, ebx
pop ebx
jmp 0x684a5b
add ebx, eax
pop eax
add ebx, 4
push eax
mov dword [esp], ebx
push dword [esp + 4]
mov ebx, dword [esp]
add esp, 4
pop dword [esp]
mov esp, dword [esp]
mov ecx, 0x21f41a51
add ecx, ebx
pop ebx
dec ecx
xor ecx, 0x7e6721db
or ecx, 0x7fdf3033
push edx
mov edx, 0x1ed75c96
or ecx, edx
jmp 0x684c03
mov ecx, 0x5fff4b57
push edx
mov edx, 0x5d47fd93
add ecx, edx
pop edx
xor ecx, 0xbd4748ee
add eax, ecx
pop ecx
add eax, 4
xchg dword [esp], eax
pop esp
jmp 0x6843dc
shl edi, 2
push ebp
mov ebp, 0x77e3d2b1
or ebp, 0x75b73fcd
xor ebp, 0xb7a40ab9
sub edi, ebp
pop ebp
mov eax, edi
push dword [esp]
jmp 0x6846b4
invalid
fnstcw word [edi - 0x75]
adc al, 0x24
cmc
movsd dword es:[edi], dword [esi]
cmp dword [edx], edx
je 0x684d84
mov ebp, 0x344b9846
xor byte [ebx + 8], al
je 0x684e12
jge 0x684da9
cmp edx, dword [edx]
je 0x684d94
in al, 0xb
adc cl, byte [esi + 0xeba1232]
mov edx, 0xe9890b0e
or byte [0x3288620b], dh
adc bh, bl
popfd
or ecx, dword [ecx + 0xb3508e9]
bound ecx, qword [eax - 0x6204edce]
salc
jle 0x684e96
std
salc
jg 0x684e84
test dword [0x8017412], esi
or edx, eax
mov dword [edx], esi
adc ch, byte [esi + 0x7416780e]
mov byte [edx], dh
xchg ebp, eax
sub ebp, 0x2ba864ee
xor dl, byte [edx]
scasb al, byte es:[edi]
push cs
js 0x684e4c
je 0x684dc0
xor dl, byte [ebp + 0x64eeed81]
test al, 0x2b
out dx, al
test al, 0x2b
in eax, 0x63
invalid
add bl, byte [esi + ebx*2 + 0x741235cd]
mov dword [eax + 0x7a], edi
pop ebp
xor eax, 0x78897412
jp 0x684eb4
mov dword [edx], esi
adc dh, byte [edi + ecx + 3]
push ss
xchg ebp, edi
salc
or eax, dword [ecx + ecx*4]
xor dl, byte [edx]
movsb byte es:[edi], byte [esi]
jno 0x684e60
scasd eax, dword es:[edi]
xor ecx, dword [ebx]
sbb al, 0x19
jne 0x684df8
xor dl, byte [ebx + 0x12328d39]
xor dl, byte [edx]
je 0x684e5d
add edi, esi
invalid
xor eax, 0x9221add4
mov bl, 0xa
sar dword [ebp + 0x1ddf983e], 0x52
mov ebp, 0x1ddf983e
push edx
je 0x684e14
xor bh, byte [ebp + ebx*2 - 0x77]
xor dl, byte [edx]
je 0x684eb4
inc ebx
out 0x4e, eax
dec esi
fnstcw word [ebp + 0x3904984e]
pop ebp
cmp dword [esi], esi
pop ebp
mov dword [edx], esi
adc dh, byte [ecx + ecx + 1]
push ss
je 0x684e30
xor ch, byte [ebx + 0x26bded89]
cwde
push cs
add dword [esi], edx
je 0x684e3c
xor ch, byte [ebx + 0x16b5ed99]
cwde
lea esi, [edx]
adc dh, byte [edi + eax + 0x29]
cmc
dec ebp
cmp dword [edx], edx
je 0x684e50
sbb eax, 0x3288744a
fdiv dword [ebp - 0x22]
xor eax, dword [eax + esi + 0x49854f9b]
mov fs, word [edi + 0x78]
xor eax, 0x356939a4
movsb byte es:[edi], byte [esi]
cmp byte [ebx + 0xd2ec838], dl
ror byte [esi], cl
add dword [esi], edx
je 0x684e74
xor ch, byte [ebx + 0x631dedb1]
je 0x684e7c
xor dl, byte [ebx + 0x12328d37]
je 0x684f1c
xor ebp, dword [edi - 0x6f]
idiv dword [ebp + 0x3976982e]
adc dh, byte [eax + ecx*4 - 0x4b]
shr byte [edx + 0x769f6fea], 1
inc esi
sbb al, 0x24
je 0x684e9c
xor al, byte [ebx - 0x78]
in eax, dx
sbb eax, 0x32887412
inc ecx
mov ch, ch
xor al, byte [ecx - 0x78]
in eax, dx
out dx, al
stosd dword es:[edi], eax
mov ebp, ebp
mov ebp, 0x33f45ef4
sbb eax, 0x671f0e74
xchg ecx, eax
push esp
mov al, 0x7b
pop ebp
mov al, byte [0x21741d33]
fisttp qword [eax]
sub eax, 0x984ebc26
push es
sbb byte [ebx], cl
cmp ecx, dword [ebx - 0x2dcbe2ce]
mov edx, 0xfee911d
test eax, 0xd6b7edb1
mov esp, 0x1806984e
or edi, dword [ebx]
mov esi, dword [edx]
sbb eax, 0x1dbad234
xchg ecx, eax
out dx, al
pop gs
mov cl, 0xed
mov bh, 0xd6
jns 0x684f5d
push ds
push ebx
hlt
outsd dx, dword [esi]
mov ebx, 0x439310e6
mov esp, 0xa6bb6f09
xlatb
adc dh, byte [eax + ecx*4 - 0x27]
add byte [ebp - 0x75], dl
pop ss
pop ecx
xor bl, byte [ebx]
pop ecx
mov ah, 0xb0
or esi, dword gs:[ebp - 0x78]
xor dl, byte [edx]
test eax, 0x534e194a
aad 0xdd
or ah, al
in eax, 0xd6
or ebx, dword [eax - 0x75]
xor bl, byte [0x36c900d0]
pop ebp
cwde
xor dl, byte [edx]
je 0x684f4b
insb byte es:[edi], dx
xchg ebx, eax
popfd
jbe 0x684fab
int 6
jge 0x684fad
push 0xffffffffffffff88
xor dl, byte [edx]
rol byte [esi], 1
cmp dword [esi], esi
pop ebp
xchg edi, eax
xor dl, byte [edx]
je 0x685026
adc dh, byte [esi + esi*2 + 0x39]
adc dh, byte [eax + ecx*4 + 0x35]
out 0x5e, eax
xor byte [ebx], dh
cmp dword [edx], edx
je 0x684f3c
xor eax, 0x33305ee7
sbb eax, 0x36210474
cmc
dec ebp
cmp dword [edx], edx
je 0x684f4c
sbb eax, 0x328873a8
or dh, byte [ebp - 0x78]
xor dl, byte [edx]
dec dword [ebp - 0xda2982a]
adc dh, byte ss:[ecx + ecx + 0x7a]
jmp 0x684f6d
scasd eax, dword es:[edi]
cld
fidiv word [esi]
test ebp, esp
salc
inc ecx
sub ch, 0xbf
cwde
mov ch, al
sbb eax, 0x4633ed89
cwde
add al, 0xd1
test dword ss:[ebp + 0x39], 0xd68dfd63
stosd dword es:[edi], eax
push ebp
cmpsb byte [esi], byte es:[edi]
aam 0x16
je 0x684f98
lcall 0x69ab, 0x3e1c5961
in al, dx
call 0x1e3bf57d
das
jns 0x684fa8
neg byte [eax + 0x39]
scasb al, byte es:[edi]
xor cl, byte [edx]
mov ah, 0xd5
mov ah, 0x62
aad 0xb1
jbe 0x684fea
xchg edx, eax
pushal
lodsd eax, dword [esi]
xlatb
std
rcr dword [esi - 0x71], cl
sbb eax, 0x328878f9
xchg ebx, eax
inc eax
mov eax, dword [ecx + 0x1f]
invalid