Function at 0x4014c0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x47ed51
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1f4
push ebx
push ebp
push esi
push edi
mov ebp, ecx
lea ebx, [ebp + 0x10]
lea eax, [esp + 0x214]
xor esi, esi
push eax
mov ecx, ebx
mov dword [esp + 0x210], esi
call fcn.004636ba
mov ecx, dword [esp + 0x214]
mov dword [ebp + 8], esi
push 0x5c
mov edi, dword [ecx - 8]
lea ecx, [esp + 0x218]
call fcn.00460cd1
sub edi, eax
lea edx, [esp + 0x18]
dec edi
lea ecx, [esp + 0x214]
push edi
push edx
call fcn.00460bdd
lea edi, [ebp + 0xc]
push eax
mov ecx, edi
mov byte [esp + 0x210], 1
call fcn.004636ba
lea ecx, [esp + 0x18]
mov byte [esp + 0x20c], 0
call fcn.00463581
push 0x2e
mov ecx, edi
call fcn.00460cd1
push 0x2e
mov ecx, edi
mov esi, eax
call fcn.004639d4
sub esi, eax
mov ecx, edi
dec esi
push esi
push 0x2e
call fcn.004639d4
inc eax
mov ecx, edi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00460b47
push eax
mov ecx, edi
mov byte [esp + 0x210], 2
call fcn.004636ba
lea ecx, [esp + 0x18]
mov byte [esp + 0x20c], 0
call fcn.00463581
xor esi, esi
push 0xffffffffffffffff
lea ecx, [ebp + 0x3c]
push esi
call fcn.00402060
mov eax, dword [0x49e254]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x20c], 6
call fcn.00402520
mov byte [esp + 0x20c], 7
mov ebx, dword [ebx]
push esi
push ebx
lea ecx, [esp + 0x7c]
call fcn.00463b56
lea ecx, [esp + 0x74]
mov byte [esp + 0x20c], 8
call fcn.00463fad
push eax
lea ecx, [esp + 0x78]
call fcn.00463fad
inc eax
lea ecx, [esp + 0x18]
push eax
call fcn.0046393d
push eax
lea ecx, [esp + 0x7c]
call fcn.00463dd0
lea ecx, [esp + 0x74]
call fcn.00463ece
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call fcn.0046398c
push 0x49b29c
lea ecx, [esp + 0x18]
call fcn.00460cf3
mov ebx, eax
cmp ebx, 0xffffffff
je 0x401f3a
lea ecx, [esp + 0x18]
push ebx
push ecx
lea ecx, [esp + 0x1c]
call fcn.00460c59
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x210], 9
call fcn.004636ba
lea ecx, [esp + 0x18]
mov byte [esp + 0x20c], 8
call fcn.00463581
push 0x49b290
push 0x49b298
lea ecx, [esp + 0x18]
add ebx, 3
call fcn.004609c1
push 0x49b290
push 0x49b294
lea ecx, [esp + 0x18]
call fcn.004609c1
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
call fcn.00402000
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.0046393d
push eax
lea ecx, [esp + 0x1b0]
call fcn.0045c5a7
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x220], 0xa
call fcn.0045c703
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.0046398c
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], esi
push ebx
push 0x49b29c
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x2c]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], eax
fild qword [esp + 0x44]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], esi
fild qword [esp + 0x44]
lea ecx, [esp + 0x1c]
fmul qword [0x484848]
faddp st(1)
fstp qword [esp + 0x74]
call fcn.00460d01
mov edi, eax
cmp edi, 0xffffffff
je 0x401b12
mov edx, edi
lea eax, [esp + 0x18]
sub edx, ebx
lea ecx, [esp + 0x14]
push edx
push ebx
push eax
call fcn.00460b47
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x210], 0xb
call fcn.004636ba
lea ecx, [esp + 0x18]
mov byte [esp + 0x20c], 0xa
call fcn.00463581
push 0xa
lea ecx, [esp + 0x14]
lea ebx, [edi + 3]
call fcn.004639d4
mov esi, eax
push 0xa
lea ecx, [esp + 0x14]
inc esi
call fcn.00460cd1
lea ecx, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00460c59
push 0xa
mov ecx, eax
mov byte [esp + 0x210], 0xc
call fcn.00460cd1
mov edi, eax
lea ecx, [esp + 0x1c]
inc edi
mov byte [esp + 0x20c], 0xa
call fcn.00463581
mov edx, edi
lea eax, [esp + 0x4c]
sub edx, esi
lea ecx, [esp + 0x10]
push edx
push esi
push eax
call fcn.00460b47
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x210], 0xd
call fcn.004636ba
lea ecx, [esp + 0x4c]
mov byte [esp + 0x20c], 0xa
call fcn.00463581
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x38]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, edi
push eax
push edx
call fcn.00460bdd
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x210], 0xe
call fcn.004636ba
lea ecx, [esp + 0x38]
mov byte [esp + 0x20c], 0xa
call fcn.00463581
lea eax, [esp + 0x2c]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.00460c59
mov byte [esp + 0x20c], 0xf
push eax
lea ecx, [esp + 0x14]
call fcn.004636ba
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20c], 0xa
call fcn.00463581
push 0x49b290
push 0x49b298
lea ecx, [esp + 0x18]
call fcn.004609c1
push 0x49b290
push 0x49b294
lea ecx, [esp + 0x18]
call fcn.004609c1
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.00402000
xor esi, esi
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.0046393d
push eax
lea ecx, [esp + 0x154]
call fcn.0045c5a7
lea edx, [esp + 0x30]
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
lea ecx, [esp + 0x15c]
mov byte [esp + 0x21c], 0x10
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.0046398c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], esi
mov dword [esp + 0x90], esi
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x8c], edx
fild qword [esp + 0x3c]
fild qword [esp + 0x8c]
lea ecx, [esp + 0x60]
fmul qword [0x484848]
faddp st(1)
fstp qword [esp + 0x64]
call fcn.00461093
lea ecx, [esp + 0x60]
call fcn.00461047
mov esi, dword [ebp + 0x44]
lea edi, [ebp + 0x3c]
push 0xffffffffffffffff
mov ecx, edi
lea eax, [esi + 1]
push eax
call fcn.00402060
mov edx, dword [edi + 4]
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
shl ecx, 5
add ecx, edx
call fcn.00402590
mov ecx, dword [ebp + 8]
push 0x49b290
inc ecx
push 0x49b298
mov dword [ebp + 8], ecx
lea ecx, [esp + 0x28]
call fcn.004609c1
push 0x49b290
push 0x49b294
lea ecx, [esp + 0x28]
call fcn.004609c1
lea edx, [esp + 0x20]
mov ecx, ebp
push edx
call fcn.00402000
xor esi, esi
push 1
push esi
lea ecx, [esp + 0x28]
call fcn.0046393d
push eax
lea ecx, [esp + 0x9c]
call fcn.0045c5a7
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x220], 0x11
call fcn.0045c703
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
push 0xffffffffffffffff
lea ecx, [esp + 0x24]
call fcn.0046398c
mov eax, dword [esp + 0x28]
mov dword [esp + 0x88], esi
mov dword [esp + 0x48], esi
push ebx
lea eax, [eax + eax*2]
push 0x49b29c
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x2c]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x4c], ecx
fild qword [esp + 0x8c]
fild qword [esp + 0x4c]
lea ecx, [esp + 0x1c]
fmul qword [0x484848]
faddp st(1)
fstp qword [esp + 0x74]
call fcn.00460d01
lea ecx, [esp + 0xa0]
mov edi, eax
mov byte [esp + 0x20c], 0x10
call fcn.0045c65d
lea ecx, [esp + 0xa0]
call fcn.0045c183
lea ecx, [esp + 0x158]
mov byte [esp + 0x20c], 0xa
call fcn.0045c65d
lea ecx, [esp + 0x158]
call fcn.0045c183
cmp edi, 0xffffffff
jne 0x401779
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ebx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00460bdd
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x210], 0x12
call fcn.004636ba
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20c], 0xa
call fcn.00463581
mov ecx, dword [esp + 0x10]
push 0xa
mov edi, dword [ecx - 8]
lea ecx, [esp + 0x14]
call fcn.004639d4
sub edi, eax
lea edx, [esp + 0x2c]
dec edi
lea ecx, [esp + 0x10]
push edi
push edx
call fcn.00460bdd
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x210], 0x13
call fcn.004636ba
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20c], 0xa
call fcn.00463581
push 0x49b290
push 0x49b298
lea ecx, [esp + 0x18]
call fcn.004609c1
push 0x49b290
push 0x49b294
lea ecx, [esp + 0x18]
call fcn.004609c1
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.00402000
push 0xa
lea ecx, [esp + 0x14]
call fcn.004639d4
inc eax
lea ecx, [esp + 0x2c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00460c59
push 1
push esi
mov ecx, eax
mov byte [esp + 0x214], 0x14
call fcn.0046393d
push eax
lea ecx, [esp + 0xf8]
call fcn.0045c5a7
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20c], 0x16
call fcn.00463581
lea edx, [esp + 0x30]
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
lea ecx, [esp + 0x100]
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
mov ecx, eax
call fcn.0045c670
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.0046398c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], esi
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x60]
fild qword [esp + 0x44]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], esi
fild qword [esp + 0x44]
fmul qword [0x484848]
faddp st(1)
fstp qword [esp + 0x64]
call fcn.00461093
lea ecx, [esp + 0x60]
call fcn.00461047
mov ecx, dword [ebp + 0x44]
mov ebx, ecx
mov dword [esp + 0x4c], ebx
inc ebx
cmp ebx, esi
jne 0x401cef
mov edi, dword [ebp + 0x40]
cmp edi, esi
je 0x401ce4
mov eax, ecx
dec ecx
test eax, eax
je 0x401cd5
lea ebx, [ecx + 1]
mov edx, dword [edi]
push esi
mov ecx, edi
call dword [edx]
add edi, 0x20
dec ebx
jne 0x401cc8
mov eax, dword [ebp + 0x40]
push eax
call fcn.00463af6
add esp, 4
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x44], esi
jmp 0x401edd
mov eax, dword [ebp + 0x40]
cmp eax, esi
jne 0x401d57
mov edi, ebx
shl edi, 5
push edi
call fcn.00463acd
mov ecx, edi
mov esi, eax
mov edx, ecx
xor eax, eax
mov edi, esi
mov dword [ebp + 0x40], esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
mov dword [esp + 0x38], esi
rep stosb byte es:[edi], al
lea edi, [ebx]
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x20c], 0x17
je 0x401d3a
mov ecx, esi
call fcn.00402520
add esi, 0x20
dec edi
mov byte [esp + 0x20c], 0x16
mov dword [esp + 0x38], esi
jne 0x401d23
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x44], ebx
jmp 0x401edd
mov edi, dword [ebp + 0x48]
cmp ebx, edi
jg 0x401dfd
cmp ecx, ebx
jge 0x401dc9
mov edx, ebx
sub edx, ecx
shl ecx, 5
add ecx, eax
xor eax, eax
mov edi, ecx
mov ecx, edx
shl ecx, 5
mov esi, ecx
mov dword [esp + 0x1c], edi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, edx
dec edx
test eax, eax
je 0x401df5
mov esi, dword [esp + 0x1c]
lea edi, [edx + 1]
mov dword [esp + 0x38], esi
test esi, esi
mov byte [esp + 0x20c], 0x18
je 0x401daf
mov ecx, esi
call fcn.00402520
add esi, 0x20
dec edi
mov byte [esp + 0x20c], 0x16
mov dword [esp + 0x1c], esi
jne 0x401d98
mov dword [ebp + 0x44], ebx
jmp 0x401edd
jle 0x401df5
mov edi, ebx
sub ecx, ebx
shl edi, 5
add edi, eax
mov edx, ecx
dec ecx
test edx, edx
je 0x401df5
inc ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax]
mov eax, dword [esp + 0x1c]
add edi, 0x20
dec eax
mov dword [esp + 0x1c], eax
jne 0x401de0
mov dword [ebp + 0x44], ebx
jmp 0x401edd
mov eax, dword [ebp + 0x4c]
cmp eax, esi
jne 0x401e27
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x401e1b
mov eax, 4
jmp 0x401e27
cmp eax, 0x400
jle 0x401e27
mov eax, 0x400
add eax, edi
cmp ebx, eax
mov dword [esp + 0x1c], eax
jl 0x401e35
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x1c]
shl ecx, 5
push ecx
call fcn.00463acd
mov ecx, dword [ebp + 0x44]
mov esi, dword [ebp + 0x40]
shl ecx, 5
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, ebx
and ecx, 3
mov dword [esp + 0x3c], eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x44]
add esp, 4
sub edx, ecx
shl ecx, 5
add ecx, eax
xor eax, eax
mov edi, ecx
mov ecx, edx
shl ecx, 5
mov esi, ecx
mov dword [esp + 0x18], edi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, edx
dec edx
test eax, eax
je 0x401ec0
mov esi, dword [esp + 0x18]
lea edi, [edx + 1]
mov dword [esp + 0x3c], esi
test esi, esi
mov byte [esp + 0x20c], 0x19
je 0x401eae
mov ecx, esi
call fcn.00402520
add esi, 0x20
dec edi
mov byte [esp + 0x20c], 0x16
mov dword [esp + 0x18], esi
jne 0x401e97
mov eax, dword [ebp + 0x40]
push eax
call fcn.00463af6
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
add esp, 4
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x48], edx
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 0x40]
lea eax, [esp + 0x54]
shl ecx, 5
push eax
add ecx, edx
call fcn.00402590
mov eax, dword [ebp + 8]
lea ecx, [esp + 0xfc]
inc eax
mov byte [esp + 0x20c], 0xa
mov dword [ebp + 8], eax
call fcn.0045c65d
lea ecx, [esp + 0xfc]
call fcn.0045c183
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x20c], 8
call fcn.0045c65d
lea ecx, [esp + 0x1b4]
call fcn.0045c183
lea ecx, [esp + 0x74]
mov byte [esp + 0x20c], 7
call fcn.00463bf6
lea ecx, [esp + 0x54]
mov byte [esp + 0x20c], 6
call fcn.00402580
lea ecx, [esp + 0x50]
mov byte [esp + 0x20c], 5
call fcn.00463581
lea ecx, [esp + 0x20]
mov byte [esp + 0x20c], 4
call fcn.00463581
lea ecx, [esp + 0x10]
mov byte [esp + 0x20c], 3
call fcn.00463581
lea ecx, [esp + 0x14]
mov byte [esp + 0x20c], 0
call fcn.00463581
lea ecx, [esp + 0x214]
mov dword [esp + 0x20c], 0xffffffff
call fcn.00463581
mov ecx, dword [esp + 0x204]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x200
ret 4