Function at 0x401510
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
mov dword [ebp - 0x9c], 0x106d
mov eax, 0x20f
mov word [ebp - 0x14], ax
mov ecx, 0x5f51
mov word [ebp - 0x20], cx
mov edx, 0x251
mov word [ebp - 4], dx
mov eax, 0x7ff1
mov word [ebp - 0x44], ax
mov ecx, 0x19ab
mov word [ebp - 0x38], cx
mov byte [ebp - 0x19], 0x17
mov dword [ebp - 8], 0x1007
mov byte [ebp - 0x1b], 0x19
mov edx, 0x1ec84
mov dword [ebp - 0x54], 0x4c93755b
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x90], 0x2089
mov byte [ebp - 0x16], 0x1d
mov dword [ebp - 0x3c], 0x1ae3
mov byte [ebp - 0x17], 0x11
mov byte [ebp - 0x1a], 0x1b
mov dword [ebp - 0x10], 0x1253
mov dword [ebp - 0xb8], 0x12ff
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x88], eax
mov eax, 0x245
mov word [ebp - 0x28], ax
mov byte [ebp - 0x31], 0x47
mov byte [ebp - 0x18], 0x19
mov dword [ebp - 0x4c], 0x1b45
mov dword [ebp - 0x2c], 0x111b
mov byte [ebp - 0x3d], 0x1b
mov byte [ebp - 0x1c], 0x13
mov byte [ebp - 9], 0x3f
movsx ecx, word [ebp - 4]
mov dword [ebp - 0xdc], ecx
movsx edx, word [ebp - 4]
mov dword [ebp - 0xc8], edx
movsx eax, word [ebp - 4]
cmp eax, 0x229
jg 0x401634
push 0
push 0x4d
push 0
push 0x12
movzx ecx, word [ebp - 4]
push ecx
mov edx, dword [ebp - 8]
push edx
movzx eax, word [ebp - 4]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401300
add esp, 0x20
push 0x44
movzx edx, word [ebp - 4]
push edx
push 0
push 0x5f
push 0
push 0x65
push 0xffffffffffffff8a
call fcn.004012d0
add esp, 0x1c
jmp 0x4022a2
movsx eax, word [ebp - 4]
add eax, 0x241
cmp eax, 0x235
je 0x402208
mov ecx, dword [ebp - 8]
or ecx, 0x11b9
mov dword [0x403004], ecx
mov dword [ebp - 0x64], 0x94f5
mov dword [ebp - 0x68], 0xb12b
mov edx, dword [ebp - 8]
sub edx, dword [0x403004]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x94], 0x7809
movsx eax, word [ebp - 4]
imul ecx, eax, 0x237
mov word [ebp - 0x14], cx
mov dword [ebp - 0x6c], 0x17eb
cmp dword [ebp - 0x94], 0x7f86
jae 0x40177c
movsx edx, word [ebp - 4]
xor edx, 0x25d
mov word [ebp - 0x14], dx
mov eax, dword [0x403004]
and eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
movsx ecx, word [ebp - 4]
sar ecx, 5
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 0x94]
add edx, 0xd5
mov dword [ebp - 0x94], edx
mov eax, dword [0x403004]
mov ecx, dword [ebp - 0x10]
shr eax, cl
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, dword [0x403004]
mov dword [ebp - 0x10], ecx
mov edx, dword [0x403004]
and edx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
xor eax, dword [0x403004]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [0x403004]
shl edx, cl
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
or eax, dword [0x403004]
mov dword [ebp - 8], eax
mov ecx, dword [0x403004]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 8]
mov dword [0x403004], edx
mov eax, dword [0x403004]
xor eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov edx, dword [0x403004]
mov ecx, dword [ebp - 8]
shr edx, cl
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
or eax, dword [0x403004]
mov dword [ebp - 8], eax
movsx ecx, word [ebp - 4]
shl ecx, 9
mov word [ebp - 0x14], cx
movsx edx, word [ebp - 0x14]
add edx, 0x219
mov word [ebp - 4], dx
jmp 0x401690
mov ecx, dword [0x403004]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [0x403004]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 8]
mov dword [0x403004], eax
mov ecx, dword [0x403004]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
xor edx, dword [0x403004]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x64]
sub eax, 0x67
mov dword [ebp - 0x64], eax
movsx ecx, word [ebp - 4]
sar ecx, 3
mov word [ebp - 0x14], cx
mov edx, dword [0x403004]
or edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
movsx eax, word [ebp - 4]
or eax, 0x22d
mov word [ebp - 0x14], ax
mov ecx, dword [0x403004]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [0x403004]
mov ecx, dword [ebp - 0x10]
shr edx, cl
mov dword [ebp - 8], edx
cmp dword [ebp - 0x64], 0x8e1e
ja 0x40177c
mov eax, dword [ebp - 0x10]
xor eax, dword [0x403004]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov dword [0x403004], edx
mov eax, dword [ebp - 8]
sub eax, dword [0x403004]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x403004]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [0x403004]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
xor eax, dword [0x403004]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 8]
mov dword [0x403004], ecx
mov edx, dword [0x403004]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov ecx, dword [0x403004]
shl eax, cl
mov dword [ebp - 0x10], eax
movsx ecx, word [ebp - 0x14]
and ecx, 0x259
mov word [ebp - 4], cx
mov edx, dword [ebp - 8]
mov ecx, dword [0x403004]
shr edx, cl
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov ecx, dword [0x403004]
shr eax, cl
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x68]
add ecx, 0xf9
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [0x403004]
shl edx, cl
mov dword [ebp - 8], edx
movsx eax, word [ebp - 0x14]
add eax, 0x24d
mov word [ebp - 4], ax
mov ecx, dword [0x403004]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [0x403004]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
cmp dword [ebp - 0x68], 0xc0bb
jbe 0x40180d
movzx eax, word [section..data]
or eax, 0x6845
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 8]
sub ecx, dword [0x403004]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x6c], 0x477
jb 0x4019f8
movzx edx, word [ebp - 0x20]
sub edx, 0x6b2b
mov word [section..data], dx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
shr eax, cl
mov dword [ebp - 0x2c], eax
movsx ecx, word [ebp - 4]
or ecx, 0x245
mov word [ebp - 0x14], cx
movsx edx, word [ebp - 4]
xor edx, 0x261
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 8]
mov ecx, dword [0x403004]
shl eax, cl
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x6c]
sub ecx, 0xf9
mov dword [ebp - 0x6c], ecx
movsx edx, word [ebp - 4]
add edx, 0x23b
mov word [ebp - 0x14], dx
movzx eax, word [section..data]
and eax, 0x6873
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x2c]
mov dword [0x403004], ecx
movsx edx, word [ebp - 4]
xor edx, 0x239
mov word [ebp - 0x14], dx
movzx eax, word [ebp - 0x20]
sub eax, 0x68c3
mov word [section..data], ax
movzx ecx, word [section..data]
add ecx, 0x6335
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
shl edx, cl
mov dword [0x403004], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [0x403004]
shr eax, cl
mov dword [ebp - 8], eax
movzx ecx, word [section..data]
or ecx, 0x28a3
mov word [ebp - 0x20], cx
jmp 0x40190f
mov dword [ebp - 0x70], 0x40000
movzx edx, byte [ebp - 0x17]
or edx, 0x19
mov byte [ebp - 0x19], dl
movzx eax, word [section..data]
movzx ecx, word [ebp - 0x20]
shl eax, cl
mov word [ebp - 0x44], ax
mov dword [ebp - 0xcc], 0x403004
mov ecx, dword [str.___t]
and ecx, 0x95e3d07
mov edx, dword [0x40300c]
and edx, 0x1ecfd
mov dword [str._5_t], ecx
mov dword [0x40301c], edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x48], ecx
lea edx, [ebp - 0x2c]
mov dword [0x403040], edx
movsx eax, word [ebp - 4]
movsx ecx, word [ebp - 0x14]
sar eax, cl
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x14]
imul edx, ecx, 0x251
mov word [0x403020], dx
mov dword [ebp - 0x58], 0x2b93bbcd
movzx eax, byte [ebp - 0x19]
movzx ecx, byte [ebp - 0x17]
cdq
idiv ecx
mov byte [ebp - 0x1a], dl
movzx eax, word [section..data]
movzx ecx, word [ebp - 0x44]
cdq
idiv ecx
mov word [ebp - 0x38], ax
mov dword [ebp - 0x98], 0x403004
mov edx, dword [ebp - 0x58]
xor edx, 0x2b94c2a2
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x54]
mov edx, dword [eax + 4]
xor edx, dword [ebp - 0x50]
mov dword [0x403028], ecx
mov dword [0x40302c], edx
lea eax, [ebp - 0x54]
mov dword [ebp - 0xb4], eax
movsx ecx, byte [ebp - 9]
sub ecx, 0x47
mov byte [ebp - 0x16], cl
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0xac], edx
lea eax, [ebp - 0x38]
mov dword [0x403044], eax
movsx ecx, word [0x403020]
movsx edx, word [ebp - 4]
add ecx, edx
mov word [ebp - 0x28], cx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x4004]
mov dword [ebp - 0xb0], ecx
movsx edx, byte [ebp - 9]
movsx eax, byte [ebp - 0x16]
add edx, eax
mov byte [0x403002], dl
movzx ecx, byte [ebp - 0x17]
movzx edx, byte [ebp - 0x19]
imul ecx, edx
mov byte [ebp - 0x1c], cl
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call dword [ebp - 0xb0]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x403044]
movzx ecx, word [eax]
movzx edx, word [section..data]
or ecx, edx
mov word [ebp - 0x20], cx
mov dword [ebp - 0x60], 0x403004
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
movsx ecx, word [ebp - 0x28]
movsx edx, word [0x403020]
sub ecx, edx
mov word [0x403030], cx
mov dword [ebp - 0xa4], 0x403028
movsx eax, byte [ebp - 9]
movsx ecx, byte [ebp - 0x16]
xor eax, ecx
mov byte [ebp - 0x18], al
lea edx, [ebp - 0x28]
mov dword [0x403048], edx
mov dword [ebp - 0x24], 0x4db1b363
mov eax, dword [0x403010]
cdq
mov ecx, 0x2011
idiv ecx
mov dword [ebp - 0x3c], eax
movzx eax, byte [ebp - 0x17]
movzx ecx, byte [ebp - 0x1a]
cdq
idiv ecx
mov byte [0x403003], dl
lea edx, [ebp - 0x44]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x84], 0x70
mov eax, dword [0x403040]
mov edx, dword [eax]
mov ecx, dword [ebp - 8]
shl edx, cl
mov dword [ebp - 0x9c], edx
lea eax, [ebp - 0x54]
mov dword [0x40304c], eax
movsx ecx, byte [0x403002]
movsx edx, byte [ebp - 0x16]
and ecx, edx
mov byte [ebp - 9], cl
mov dword [ebp - 0x5c], 0x403030
mov eax, dword [ebp - 0x88]
add eax, 0x11888
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0x3c]
mov ecx, dword [0x403010]
sar edx, cl
mov dword [0x403034], edx
movzx eax, byte [ebp - 0x17]
movzx ecx, byte [0x403003]
sar eax, cl
mov byte [ebp - 0x1b], al
lea ecx, [ebp - 0x38]
mov dword [0x403050], ecx
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x2c]
xor eax, dword [0x403004]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0xa8], ecx
movsx edx, byte [ebp - 0x18]
movsx eax, byte [ebp - 9]
add edx, eax
mov byte [0x403014], dl
mov dword [ebp - 0x74], 0xdd528f48
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x80], ecx
mov edx, dword [0x403010]
and edx, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x74]
xor eax, 0xdd54ae84
mov dword [ebp - 0x74], eax
mov dword [0x403054], 0x403008
movzx edx, byte [ebp - 0x1b]
movzx ecx, byte [0x403003]
shl edx, cl
mov byte [ebp - 0x17], dl
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x74]
jae 0x4020eb
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
mov eax, dword [0x403044]
movzx ecx, word [eax]
or edx, ecx
mov eax, dword [ebp - 0x30]
mov word [eax], dx
mov ecx, dword [0x403040]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ecx]
mov dword [0x403004], edx
mov eax, dword [ebp - 0x78]
mov cl, byte [eax]
mov byte [ebp - 0x15], cl
mov edx, dword [ebp - 0x48]
mov eax, dword [0x40304c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [edx + 4]
sbb edx, dword [eax + 4]
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
mov dword [eax + 4], edx
movsx edx, byte [ebp - 0x18]
movsx ecx, byte [0x403002]
shl edx, cl
mov byte [ebp - 9], dl
movsx eax, word [ebp - 0x28]
movsx ecx, word [ebp - 0x14]
sar eax, cl
mov ecx, dword [0x403048]
mov word [ecx], ax
mov edx, dword [0x403034]
or edx, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], edx
movzx eax, byte [ebp - 0x15]
add eax, dword [ebp - 0x24]
mov byte [ebp - 0x15], al
mov ecx, dword [0x403050]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x20]
xor edx, eax
mov ecx, dword [ebp - 0x30]
mov word [ecx], dx
movzx edx, byte [ebp - 0x1b]
movzx eax, byte [ebp - 0x1a]
add edx, eax
mov byte [0x403003], dl
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
mov eax, dword [0x403044]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x30]
mov word [eax], dx
mov ecx, dword [0x403040]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x2c], eax
movzx ecx, byte [ebp - 0x15]
sub ecx, dword [ebp - 0x24]
mov byte [ebp - 0x15], cl
mov edx, dword [0x403028]
sub edx, dword [ebp - 0x54]
mov eax, dword [0x40302c]
sbb eax, dword [ebp - 0x50]
mov ecx, dword [0x40304c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movsx edx, byte [ebp - 0x18]
movsx eax, byte [0x403014]
add edx, eax
mov byte [ebp - 0x16], dl
movsx ecx, word [ebp - 4]
mov edx, dword [ebp - 0x80]
movsx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x5c]
mov word [edx], cx
movzx eax, byte [ebp - 0x15]
add eax, dword [ebp - 0x24]
mov byte [ebp - 0x15], al
mov edx, dword [0x403034]
mov ecx, dword [ebp - 0x3c]
shl edx, cl
mov dword [0x403010], edx
mov eax, dword [ebp - 0x30]
movzx edx, word [eax]
movzx ecx, word [section..data]
sar edx, cl
mov eax, dword [ebp - 0x30]
mov word [eax], dx
movzx ecx, byte [ebp - 0x1b]
movzx edx, byte [0x403003]
or ecx, edx
mov byte [ebp - 0x19], cl
movzx eax, word [section..data]
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
or eax, edx
mov ecx, dword [0x403050]
mov word [ecx], ax
mov edx, dword [ebp - 0x7c]
mov al, byte [ebp - 0x15]
mov byte [edx], al
mov ecx, dword [ebp - 0x60]
mov edx, dword [0x403004]
xor edx, dword [ecx]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
and ecx, dword [0x403028]
mov edx, dword [eax + 4]
and edx, dword [0x40302c]
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], edx
movsx edx, byte [ebp - 0x16]
movsx ecx, byte [ebp - 9]
sar edx, cl
mov byte [0x403002], dl
mov eax, dword [ebp - 0x78]
add eax, 1
mov dword [ebp - 0x78], eax
movsx edx, word [0x403030]
mov eax, dword [ebp - 0x5c]
movsx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x80]
mov word [ecx], dx
mov edx, dword [0x403010]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], edx
mov eax, dword [0x403054]
mov ecx, dword [eax]
add ecx, dword [str.___t]
mov edx, dword [eax + 4]
adc edx, dword [0x40300c]
mov eax, dword [0x403054]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x7c]
add ecx, 1
mov dword [ebp - 0x7c], ecx
movzx edx, byte [ebp - 0x1c]
movzx eax, byte [0x403003]
add edx, eax
mov byte [ebp - 0x19], dl
movzx edx, word [ebp - 0x38]
movzx ecx, word [section..data]
shl edx, cl
mov eax, dword [ebp - 0x30]
mov word [eax], dx
mov ecx, dword [ebp - 0x24]
add ecx, 0x521b
mov dword [ebp - 0x24], ecx
mov edx, dword [0x403040]
mov eax, dword [ebp - 0x60]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [0x403004], ecx
mov edx, dword [0x40304c]
mov eax, dword [ebp - 0xa4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [edx + 4]
sbb edx, dword [eax + 4]
mov eax, dword [ebp - 0xa8]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x24]
sub ecx, 0xd821
mov dword [ebp - 0x24], ecx
movsx edx, byte [ebp - 0x18]
movsx eax, byte [0x403002]
xor edx, eax
mov byte [ebp - 9], dl
movsx ecx, word [0x403030]
movsx edx, word [ebp - 0x28]
and ecx, edx
mov eax, dword [0x403048]
mov word [eax], cx
imul ecx, dword [ebp - 0x24], 0x7cf9
mov dword [ebp - 0x24], ecx
mov edx, dword [0x403034]
mov ecx, dword [ebp - 0x3c]
sar edx, cl
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov edx, dword [0x40304c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.00402340
mov ecx, dword [ebp - 0xa8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movzx edx, byte [ebp - 0x1a]
movzx eax, byte [ebp - 0x1c]
add edx, eax
mov byte [0x403003], dl
mov ecx, dword [ebp - 0x24]
sub ecx, 0x7b95
mov dword [ebp - 0x24], ecx
movzx edx, word [ebp - 0x38]
movzx eax, word [section..data]
and edx, eax
mov ecx, dword [ebp - 0x30]
mov word [ecx], dx
mov edx, dword [ebp - 0x98]
mov eax, dword [0x403004]
xor eax, dword [edx]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
mov edx, dword [0x40304c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.00402320
mov ecx, dword [0x40304c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movsx edx, byte [ebp - 0x16]
movsx eax, byte [ebp - 0x18]
or edx, eax
mov byte [ebp - 9], dl
imul ecx, dword [ebp - 0x24], 0xf683
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x80]
movsx eax, word [edx]
movsx ecx, word [0x403030]
sub eax, ecx
mov edx, dword [ebp - 0x5c]
mov word [edx], ax
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x3c]
mov dword [0x403034], eax
mov ecx, dword [0x403050]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x20]
xor edx, eax
mov ecx, dword [ebp - 0x30]
mov word [ecx], dx
movzx edx, byte [ebp - 0x1a]
movzx ecx, byte [ebp - 0x1b]
sar edx, cl
mov byte [ebp - 0x17], dl
mov eax, dword [ebp - 0x24]
sub eax, 0x6e43
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
movzx eax, word [section..data]
or edx, eax
mov ecx, dword [0x403044]
mov word [ecx], dx
mov edx, dword [0x403004]
mov ecx, dword [ebp - 8]
shl edx, cl
mov dword [ebp - 0x9c], edx
mov eax, dword [0x40304c]
mov ecx, dword [eax]
add ecx, dword [0x403028]
mov edx, dword [eax + 4]
adc edx, dword [0x40302c]
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x859
mov dword [ebp - 0x84], ecx
movsx edx, byte [0x403002]
movsx eax, byte [ebp - 0x18]
and edx, eax
mov byte [0x403014], dl
movsx ecx, word [0x403020]
mov edx, dword [0x403048]
movsx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x5c]
mov word [edx], cx
jmp 0x401cbc
mov eax, dword [ebp - 0x4c]
mov ecx, dword [0x403034]
shl eax, cl
mov dword [ebp - 0x90], eax
mov dword [0x403058], 0x403018
mov ecx, dword [ebp - 0x8c]
add ecx, 0xbc
mov dword [ebp - 0xc4], ecx
movzx edx, byte [0x403003]
movzx eax, byte [ebp - 0x1c]
sub edx, eax
mov byte [ebp - 0x3d], dl
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xa0]
add edx, 0xbc
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [0x403004]
add ecx, dword [eax]
mov dword [0x403038], ecx
mov edx, dword [0x40304c]
mov eax, dword [ebp - 0x54]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x50]
xor ecx, dword [edx + 4]
mov edx, dword [ebp - 0xa4]
mov dword [edx], eax
mov dword [edx + 4], ecx
movsx eax, byte [ebp - 9]
movsx ecx, byte [0x403002]
sar eax, cl
mov byte [ebp - 0x31], al
mov dword [0x40305c], 0x403020
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xbc], ecx
mov edx, dword [0x403034]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x90], edx
movzx eax, byte [ebp - 0x1c]
movzx ecx, byte [0x403003]
or eax, ecx
mov byte [0x403015], al
mov dword [ebp - 0xd4], 0x403000
mov edx, dword [ebp - 0x60]
mov eax, dword [0x403040]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
lea edx, [ebp - 0xc4]
push edx
call dword [ebp - 0x8c]
mov dword [0x403060], 0x403028
movsx eax, byte [0x403002]
movsx ecx, byte [ebp - 9]
sar eax, cl
mov byte [ebp - 0x31], al
lea ecx, [ebp - 4]
mov dword [ebp - 0xd8], ecx
jmp 0x4022a2
movsx edx, word [ebp - 4]
shl edx, 0x1b
cmp edx, 0x25b
jl 0x402255
movzx eax, word [section..data]
push eax
push 0xcd
push 0
push 0x57
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401290
add esp, 0x14
push 0xac
push 0x24
push 0x6b
push 0x9a
push 0x55
push 0x58
push 0x9b
call fcn.004013a0
add esp, 0x1c
jmp 0x4022a2
push 0xffffffffffffffac
movzx edx, word [ebp - 4]
push edx
push 0
push 0x36
push 0
push 0x98
push 0xffffffffffffffae
call fcn.004012d0
add esp, 0x1c
movzx eax, word [section..data]
push eax
push 0
push 0xf3
push 0xffffffffffffffe4
movzx ecx, word [section..data]
push ecx
mov edx, dword [ebp - 8]
push edx
push 0
push 0xf3
push 0xef
call fcn.00401330
add esp, 0x24
push 0
push 0xf0
push 0
push 0xb5
movzx eax, word [ebp - 4]
push eax
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 4]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00401300
add esp, 0x20
push 0x8a
push 0x1f
push 0xb8
push 0xb0
push 0x91
push 0xf4
push 0x2e
call fcn.004013a0
add esp, 0x1c
push 4
push 0x22
push 0x30
push pe_nt_image_headers32
push 0x50
push 0x51
push 0x8f
call fcn.004013a0
add esp, 0x1c
mov eax, dword [ebp - 0x90]
mov esp, ebp
pop ebp
ret