Function at 0x437d84
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
rol dword [eax], cl
jg 0x4759cf
xor al, byte [eax]
add al, al
jne 0xfd59e2
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 - 0x16fffc24], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x80]
add cl, cl
je 0x437dfc
mov dword [eax + 0x210], 0
jle 0x437e41
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0xffffdf0]
add bh, bh
inc eax
jge 0x437df7
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
call dword [ebp + 0x200]
sub ecx, 1
jne 0x437dfc
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [ebp + 0xf18400], eax
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0x1b10]
jne 0x437efa
add byte [eax], al
test edi, edi
jle 0x437e4a
lea esi, [esi]
add byte [ebx + 0x104b8], al
add byte [eax], al
cmp dword [eax + 0x104], 0
add byte [eax], al
leave
add byte [eax], al
add byte [ebx + 0x10086], cl
add byte [ebx], bh
xor byte [ebx - 0x72ffff8b], cl
mov eax, 0x30000000
add byte [eax], dh
add al, al
add al, 0x3b
xlatb
jl 0x437e24
xor eax, dword [eax]
add byte [ebp + 0x10], dl
test edi, edi
jle 0x437e5d
add byte [ecx + 0x110], al
mov dword [ebp], eax
add byte [esi], al
push es
lea ebx, [ebx + 0xc30000]
cmp dword [eax - 0x104], 0xea
jne 0x437eea
mov eax, 0x20005441
imul ebx
sar edx, 7
mov eax, dword [eax]
add bl, ch
pop ds
add ebx, edx
mov esp, edi
add byte [ebx + 0x8b1055], cl
imul eax, dword [eax]
add al, dl
mov eax, dword [ebp + 8]
sub ecx, 0
mov dword [ebp + 0x10], edx
mov dword [ebp + 8], eax
add dword [eax], 0
jne 0x437e64
or byte [ebx + 0x558900e9], al
adc byte [ecx + 0x830845], cl
add byte [ebp - 0x3b], dh
test edx, edx
js 0x437e90
add byte [ecx + 4], al
lea ebx, [edx*4]
mov ecx, dword [ebx + eax]
test ecx, ecx
aam 0
dec ebp
fild dword [ebx]
add byte [edx + 0x10], ch
call fcn.00447ebf
add esp, 4
sbb eax, dword [eax]
mov ecx, edi
push dword [ebp + 0xc]
mov dword [edi], 0
call 0x4448b4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [eax], eax
add byte [ebx + 0x4418b0e], cl
jnp 0x437ee4
add ebx, dword [edi + 0x5e]
pop ebx
pop ebp
ret
mov eax, dword [eax]
add byte [ebp + 8], bl
cdq
idiv dword [ebx - 0xff17]
mov ebx, eax
jmp 0x437e81
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
cmp dword [edx + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebx, dword [edx]
mov esi, dword [eax]
mov ecx, esi
call fcn.004381e4
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc byte [eax]
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.004381e4
mov ebp, 0x788b0800
add al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.0043efe4
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov ebp, dword [edx]
add byte [ebx + 0x289e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebp - 0x6bbfdbb4], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call int.00427f6f
mov edx, dword [ebp + 8]
mov edx, 0x89c03300
pop esp
and al, 0x30
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
fadd dword [eax]
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
mov word [eax], es
add byte [eax], al
mov edx, eax
xor eax, eax
inc eax
add byte [eax], al
and al, 0x30
test dl, 2
mov ch, 0
push 0xffffffffffffffda
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [edi + edi*8], edx
test esi, esi
je 0x475a20
add dl, al
sub eax, ebx
je 0x468047
sub eax, 1
jne 0x467fcf
mov dword [esp + 0x53], ebx
add bh, bh
jle 0x43803c
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
xchg esi, eax
add byte [eax], dl
call fcn.004381c5
mov eax, dword [eax]
add byte [esp + 0x30], dl
pop ecx
test edi, eax
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shl dword [edi + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax - 0x1a], dl
add byte [esp], ah
push edx
call int.004570c2
add ah, al
or al, 0x85
ror byte [edi], 0xf2
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
mov ebp, 0x32c2400
int1
test edi, edi
jg 0x43803c
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
stc
add byte [ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx + 0x7e448900], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x7400cb46], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
pop ebp
in al, dx
mov dword [edx], edx
add byte [edi + 4], cl
mov dword [ebx + 4], ecx
mov ecx, dword [edi]
add byte [ebx + 8], cl
mov ecx, dword [edi + 0xc]
cld
add al, bh
mov dword [ebx + 0xc], ecx
push eax
inc dword [ecx]
add byte [eax], al
mov dword [ebp - 0x10], 0x360004
call fcn.00468044
mov eax, dword [ebx]
add ah, al
adc al, 0xff
or byte [ebx + 0x38830031], cl
add byte [edi], cl
test byte [ecx - 0x24], ch
add byte [eax], al
push 0x10
push ebx
call fcn.00475761
inc esi
mov dword [ebp - 0x14], 0
add esp, 8
mov dword [ebp + 0x33], 0
mov dword [ebp - 0x1c], 0
cmp esi, dword [ebp - 0xc]
jb 0x46803b
add bh, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
add byte [eax], al
add ah, cl
int3
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
rol dword [eax], cl
jg 0x4a5c8f
xor al, byte [eax]
add al, al
jne 0x1005ca2
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 - 0x16fffc24], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x80]
add cl, cl
je 0x4680bc
mov dword [eax + 0x210], 0
jle 0x468101
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0xffffdf0]
add bh, bh
inc eax
jge 0x4680b7
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
call dword [ebp + 0x200]
sub ecx, 1
jne 0x4680bc
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [ebp + 0xf18400], eax
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0x1b10]
jne 0x4681ba
add byte [eax], al
test edi, edi
jle 0x46810a
lea esi, [esi]
add byte [ebx + 0x104b8], al
add byte [eax], dh
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
cmp dword [edx + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebx, dword [edx]
mov esi, dword [eax]
mov ecx, esi
call fcn.004684a4
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc byte [eax]
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.004684a4
mov ebp, 0x788b0800
add al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call 0x46f2a4
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov ebp, dword [edx]
add byte [ebx + 0x289e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebp - 0x6bbfdbb4], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call fcn.0045822f
mov edx, dword [ebp + 8]
mov edx, 0x89c03300
pop esp
and al, 0x30
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
fadd dword [eax]
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
mov word [eax], es
add byte [eax], al
mov edx, eax
xor eax, eax
inc eax
add byte [eax], al
and al, 0x30
test dl, 2
mov ch, 0
push 0xffffffffffffffda
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [edi + edi*8], edx
test esi, esi
je 0x4a5ce0
add dl, al
sub eax, ebx
je 0x498307
sub eax, 1
jne 0x49828f
mov dword [esp + 0x53], ebx
add bh, bh
jle 0x4682fc
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
xchg esi, eax
add byte [eax], dl
call fcn.00468485
mov eax, dword [eax]
add byte [esp + 0x30], dl
pop ecx
test edi, eax
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shl dword [edi + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax - 0x1a], dl
add byte [esp], ah
push edx
call fcn.00487382
add ah, al
or al, 0x85
ror byte [edi], 0xf2
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
mov ebp, 0x32c2400
int1
test edi, edi
jg 0x4682fc
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
stc
add byte [ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx + 0x7e448900], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x7400cb46], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
jae 0x475a47
mov al, byte [0x3bd78a26]
les esp, [eax + 0x65]
out 0x58, eax
add al, 0x59
loopne 0x475a31
or dword [ebp + 8], ecx
pop ebx
sbb eax, 0xa890cd89
adc eax, 0xd1e705aa
jne 0x475a00
ljmp 0x6972:0x89cadaba
jb 0x475a6b
sal dword [ecx + edi + 0x20], 0x53
stosd dword es:[edi], eax
imul ebp, ebp, 0x65
bswap eax
bound eax, qword [ecx - 0xe2e0d10]
invalid
mov eax, dword [0xaf723109]
push ds
fidiv word [ecx]
ret 0x2242
arpl word [edi], dx
in al, dx
jge 0x4759d1
inc ebp
mov eax, 0x9eff4bf7
mov esp, 0xc98f2f47
pop ss
pushfd
sub ecx, dword [edx + 0x189eeed8]
daa
sahf
sbb byte [edi], ah
mov eax, 0x618fb42e
jge 0x4759eb
pop esi
add bh, byte [ebp - 0x2d6548f9]
scasw ax, word es:[edi]
js 0x475abe
stc
sal byte [eax - 0x51], 1
mov ecx, 0x58d35fb6
dec esp
push ebx
pop edi
clc
cmpsd dword [esi], dword es:[edi]
adc eax, 0x70b5a922
outsb dx, byte [esi]
loope 0x475a9e
and ch, byte [ecx - 0x1e918f4b]
sub al, 0x7c
jle 0x475ac2
jl 0x475af2
dec ebp
insb byte es:[edi], dx
or byte [esi], 0x55
fnstcw word [ecx]
mov eax, dword [0x4cf05c82]
xchg dword [edx + 0x66c58d43], eax
mov eax, 0xc4484751
xchg byte [ebp + 0x6c], al
mov al, byte [0xb6378b3a]
push ebp
int 0xdc
push 0x6f2fa6df
outsd dx, dword [esi]
das
test al, 0xf0
cmp al, 0x4d
push edi
adc dh, byte [edx]
mov cl, 0x8d
mov ebx, 0xbc8e05ea
mov edi, 0x33c61818
loopne 0x475a9a
lahf
and dl, byte [ebx + 0x32ea7935]
xor dword [ecx + 0x53], ebp
mov word [esi + 0x4c48a65b], gs
jo 0x475b05
pop ebp
in eax, 0x5d
inc eax
ljmp 0x5cd9
imul edi, dword [edx], 0x4b585f9c
les ebp, [eax - 4]
in al, 1
dec edi
ret 0x2c95
cwde
mov ebx, 0xbe900e2a
inc ebx
jle 0x475b8b
in eax, 0xf4
invalid
add ah, bh
fld dword [ecx]
ret 0x798e
cmc
test eax, 0x7f19a653
fist word [ecx - 0x31]
dec esi
and byte [ecx - 0x757863ee], 0xa9
sub byte [esi + 0x42], 0x43
insd dword es:[edi], dx
loop 0x475b5f
mov dword [eax], ebp
pop edi
enter 0x366, 0x7c
mov dl, 0x9a
pop edx
pop esp
dec eax
lcall 0xdf92, 0x8ddef9d0
sbb dl, byte [edx - 0x88e8a6b]
sbb al, cl
cwde
cli
pop esp
shl esp, 0xf
sti
inc edx
push ebx
jno 0x475b82
lahf
xchg ecx, eax
cmpsb byte [esi], byte es:[edi]
dec ecx
inc ebx
jle 0x475c3a
or edi, edx
push 0x44b5ad40
xchg dword [ebp - 0x7fcbcb78], esp
outsb dx, byte [esi]
xlatb
xchg edx, eax
mov fs, word [ebx + 0xe]
mov byte [0xabbb4507], al
or edi, dword [esi + 0x2155b65c]
cld
fsub qword [ebp - 0x57857e90]
push cs
mov cl, 0x2c
add byte [esi + 0x7e], 0x1c
invalid
pop ebp
daa
invalid
mov esp, 0xb31a3e20
lodsb al, byte [esi]
sub dh, ah
push cs
int 5
and dword [eax], edi
out dx, eax
aas
cmp eax, 0x70848612
sub dword [edx], edi
xor al, 0xe3
lcall 0xa2b, 0x287cc82c
mov cl, 0x3b
pop esi
mov bl, byte [ecx - 0x34f9019c]
movsb byte es:[edi], byte [esi]
jp 0x475bfe
rsqrtps xmm3, xmm5
retf 0xe207
xchg edi, eax
add byte [eax], al
add al, cl
test ecx, ecx
je 0x4982cc
mov eax, dword [ecx]
add byte [edi + 8], al
mov eax, dword [ecx + 0x18]
sti
add byte [ebx + ecx*4], cl
inc ecx
sbb al, 0x89
inc edi
sbb byte [eax], al
add byte [edx + 4], ch
pop edx
mul edx
push ebp
add cl, al
neg ecx
or ecx, eax
push ecx
call fcn.004a82bf
mov dword [edi + 0x14], eax
lock add byte [ecx + 0x5f], bl
pop edi
pop esi
pop ebx
leave
ret 8
add byte [edi + 0x24], dl
lea eax, [ebp + 8]
fadd dword [eax]
lea eax, [ebp - 4]
push eax
push ecx
mov ecx, dword [ebx]
add byte [eax], al
inc edi
add dword [eax], eax
add esp, 0xffffffb2
add byte [edi + 8], al
test eax, eax
je 0x498325
lea eax, [eax]
add byte [ecx - 0x75], dl
enter 0xffffffffffff83e8, 0x42
add byte [eax], al
pop ecx
mov ecx, dword [edi + 8]
lea esi, [edi]
add byte [edx + 2], ch
mov edx, eax
mov ebp, edi
add al, ch
xchg byte [ecx + 1], dh
add byte [ebx + 0x8000006], cl
inc eax
imul eax, eax, 3
mov eax, dword [eax]
ja 0x498322
add dword [eax], eax
mov eax, dword [esi]
add byte [eax], al
or byte [eax + 0x6b], al
rol byte [ebx], 0x8b
add byte [edi + 0xc], dh
mov dword [esi], eax
push dword [edi + 8]
add byte [eax], al
fimul dword [ecx + eax + 0x968b00]
xchg byte [ebx - 0x6414f7bb], cl
xchg esi, eax
add byte [esi - 0x14f7ba75], al
wait
mov eax, dword [ebp + 8]
jmp 0x4982c5
push ebp
add byte [eax], al
push ebx
push esi
push edi
push dword [ebp + 0x4f]
add byte [eax], bh
add byte [eax], al
add byte [ebx + 0xbed8], cl
dec ebp
add byte [ebx + 0xf853e], cl
adc byte [ecx], bh
pop edi
adc byte [edi + ecx - 0x7d], dh
add byte [eax], al
cmp esi, 0x154d2500
add dl, ch
xor eax, eax
jmp 0x498369
pop edi
pop esi
add byte [eax], al
ret 4
pop esp
mov byte [edi + ecx*4], cl
push ds
jle 0x4a5cd3
in al, 0x2e
lodsb al, byte [esi]
add byte [ebx + edi*8 + 2], ah
mov bh, 0x16
pushal
rdtsc
pop ebp
jp 0x4a5c57
out 0x8f, eax
inc dword [ebx + 0x652b77bb]
stosb byte es:[edi], al
sahf
or al, 0x30
sbb al, 0xdd
mov ch, 0xaa
mov dh, bl
pop ecx
das
fbstp tbyte [ecx + 0x509cc461]
test dword [edi + 0x902a92b], 0x239e1454
dec ebp
lodsb al, byte [esi]
adc al, 0x9e
and ecx, dword [ebp - 0x54]
jbe 0x4a5cca
jmp 0x4a5ca7
cmpsd dword [esi], dword es:[edi]
call [eax - 0x35]
out dx, eax
cmp esp, dword [eax + 0x41333467]
xchg ecx, eax
mov bl, 0xf7
push esp
hlt
fidiv dword [eax]
adc al, 0xb0
out 0x2a, eax
mov cl, 0x8f
int3
jns 0x4a5c60
les ecx, [ecx]
mov dword [ebx + 0x5f], ebp
sal dword [esi], 1
mov ebp, 0xd5767743
mov ebp, 0xd5767743
aad 0x10
or dl, byte [ecx*2 + 0x454814d4]
adc byte [edx], cl
adc al, 0x4d
aam 0x14
dec eax
inc ebp
loope 0x4a5cd3
sub eax, 0x432a8354
ror ebx, 1
and dl, byte [edi + 0x3a7c14a]
mov edx, dword [esi + ecx*8 + 0x13a327db]
cmp dword [eax + eax - 5], edx
adc al, 0xfd
fadd dword [edx + 0x19b3a521]
rol byte [ebp - 0x682602a], cl
jge 0x4a5d0a
mov bl, 0x10
movsb byte es:[edi], byte [esi]
psubusw mm2, qword [edi + 0x5e]
jo 0x4a5cdb
xlatb
add eax, 0xeedb2052
pop esp
push es
sub dh, 0xe7
cmp dword [edx - 0x3e00d60a], ebx
shr dh, cl
js 0x4a5cc6
mov bl, 0x9a
mov ah, 0xf2
cmpsd dword [esi], dword es:[edi]
xchg edx, eax
iretd