Function at 0x401d1b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x502fe0
sub esp, 0x178
mov eax, dword [0x7af4f8]
xor eax, esp
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x18c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x188]
movzx ebx, word [esi + 0x220]
push edi
mov edi, dword [esp + 0x190]
mov ebp, ecx
mov ecx, dword [esp + 0x198]
push ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], edx
call fcn.00409db3
add esp, 4
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], eax
call fcn.0040b5f0
push 0
lea eax, [esp + 0x28]
push eax
push 0xd4
mov ecx, 0x7c20a0
call fcn.00404bf1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esi + 0x178], ecx
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x17c], edx
mov edx, dword [esp + 0x38]
mov dword [esi + 0x180], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x184], ecx
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x190], ecx
lea ecx, [esp + 0x64]
mov dword [esi + 0x188], edx
mov dword [esi + 0x18c], eax
call fcn.0040b5f0
push 0
lea edx, [esp + 0x68]
push edx
push 0x3f
mov ecx, 0x7c20a0
call fcn.00404bf1
push 0x1e1e1e
lea eax, [esp + 0x68]
push eax
push 0xffffffffffffffff
push 0x65ddf3
mov ecx, esi
call fcn.0040be4c
lea ecx, [esp + 0x44]
mov dword [esi + 0x170], 1
call fcn.0040b5f0
push 0
lea ecx, [esp + 0x48]
push ecx
push 0xd5
mov ecx, 0x7c20a0
call fcn.00404bf1
lea eax, [esi + 0x194]
test eax, eax
je 0x503111
push eax
mov ecx, esi
call fcn.0040c482
mov eax, dword [esp + 0x1c]
test eax, 0x800
je 0x503145
push ebx
mov ecx, ebp
call fcn.004010fa
test eax, eax
je 0x503d19
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push edx
push ecx
push edi
push eax
push esi
mov ecx, ebp
call fcn.00401ea6
jmp 0x503d19
test eax, 0x400
je 0x503168
push ebx
mov ecx, ebp
call fcn.004010fa
test eax, eax
je 0x503d19
push eax
push esi
call fcn.00406d39
jmp 0x503d19
test eax, 0x200
je 0x50318b
push ebx
mov ecx, ebp
call fcn.004010fa
test eax, eax
je 0x503d19
push eax
push esi
call fcn.004048b8
jmp 0x503d19
test eax, 0x3000
jne 0x503d06
test eax, 0x4000
je 0x5033c7
push ebx
mov ecx, ebp
call fcn.004010fa
mov edi, eax
test edi, edi
je 0x503d19
push ebx
call fcn.00402e23
lea edx, [edi + 2]
test eax, eax
push edx
lea eax, [esp + 0x88]
je 0x503282
push 0x65de84
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 2
push 0
push 0xffffff
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de0f
mov ecx, esi
call fcn.0040cb21
movzx eax, word [edi + 0x48]
mov edx, 0x4010
cmp ax, dx
je 0x503220
mov ecx, 0x401a
cmp ax, cx
jne 0x50326d
push 0x94a
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x8c]
push 0x65de8c
push edx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.0040cb21
mov ecx, dword [esp + 0x10]
push 0
push ecx
push edi
push esi
mov ecx, ebp
call fcn.00404322
jmp 0x503d19
push 0x65de94
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 2
push 0
push 0xffffff
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de13
mov ecx, esi
call fcn.0040cb21
movzx eax, word [edi + 0x48]
mov edx, 0x4000
cmp ax, dx
je 0x5032e0
mov ecx, 0x4001
cmp ax, cx
je 0x5032e0
mov edx, 0x4002
cmp ax, dx
jne 0x50332d
push 0x94a
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x8c]
push 0x65de9c
push eax
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de39
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de3a
mov ecx, esi
call fcn.0040cb21
push 0
lea edx, [esp + 0x48]
push edx
push 0xffffb0
push 0x65de3b
mov ecx, esi
call fcn.0040cb21
push ebx
mov ecx, ebp
call fcn.00402e23
test eax, eax
jne 0x503399
push eax
push eax
push 0xffc800
push 0x104
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
movzx eax, word [edi + 0x44]
push 1
push 0xc8d7aa
push eax
push esi
mov ecx, ebp
call fcn.00404345
push 0
push 0
push 0xffffff
push 0x65de72
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
test eax, 0x8000
je 0x50356f
push ebx
mov ecx, ebp
call fcn.004010fa
mov edi, eax
test edi, edi
je 0x503d19
lea ecx, [edi + 2]
push ecx
lea edx, [esp + 0x88]
push 0x65dea4
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 2
push 0
push 0xffffff
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de73
mov ecx, esi
call fcn.0040cb21
movzx eax, word [edi + 0x48]
mov ecx, 0x8000
cmp ax, cx
je 0x503443
mov edx, 0x8001
cmp ax, dx
jne 0x503490
push 0x94b
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x8c]
push 0x65deac
push eax
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de89
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65de8a
mov ecx, esi
call fcn.0040cb21
cmp dword [esp + 0x1c], 0x8001
jne 0x503529
movzx edx, word [edi + 0xe0]
push edx
push 0xee
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.00611035
mov ecx, dword [0x7c2d24]
mov dx, word [ecx + 0x43c]
add esp, 0xc
push 0
push 0
cmp dx, word [edi + 0xe0]
jae 0x503515
push 0xe61414
lea eax, [esp + 0x90]
push eax
jmp 0x503522
push 0xffffff
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
lea edx, [esp + 0x48]
push edx
push 0xffffb0
push 0x65de8b
mov ecx, esi
call fcn.0040cb21
movzx eax, word [edi + 0x44]
push 1
push 0xc8d7aa
push eax
push esi
mov ecx, ebp
call fcn.00404345
push 0
push 0
push 0xffffff
push 0x65de92
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
test eax, 0x100
je 0x50399c
push ebx
mov ecx, ebp
call fcn.004010fa
mov edi, eax
test edi, edi
je 0x503d19
lea ecx, [edi + 2]
push ecx
lea edx, [esp + 0x88]
push 0x65deb4
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, 0x104
add esp, 0xc
mov ecx, 0xffffff
cmp word [edi + 0x48], ax
jne 0x503610
cmp word [edi + 0x88], 0
je 0x503610
movzx eax, word [edi + 0x8a]
mov edx, dword [0x7c2d24]
test ax, ax
jne 0x5035dc
cmp word [edx + 0x43c], 0x32
ja 0x503634
cmp eax, 1
jne 0x5035f8
movzx edx, word [edx + 0x43c]
cmp edx, 0x33
jb 0x503634
cmp edx, 0x46
ja 0x503634
mov edx, dword [0x7c2d24]
cmp eax, 2
jne 0x503639
movzx eax, word [edx + 0x43c]
cmp eax, 0x47
jb 0x503634
cmp eax, 0x5a
jbe 0x503639
jmp 0x503634
mov edx, dword [0x7c2d24]
movzx eax, word [edx + 0x43c]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld dword [edi + 0xdc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x503639
mov ecx, 0xe61414
push 2
push 0
push ecx
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
fld dword [edi + 0xdc]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5036ed
fld dword [edi + 0xdc]
call fcn.00611200
push eax
push 0xee
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65de93
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x94]
push edx
call fcn.00611035
mov eax, dword [0x7c2d24]
movzx ecx, word [eax + 0x43c]
mov dword [esp + 0x28], ecx
add esp, 0x14
push 2
fild dword [esp + 0x18]
mov ecx, esi
fld dword [edi + 0xdc]
push 0
fcompp
fnstsw ax
test ah, 0x41
jne 0x5036db
push 0xe61414
lea edx, [esp + 0x90]
push edx
jmp 0x5036e8
push 0xffffff
lea eax, [esp + 0x90]
push eax
call fcn.0040cb21
movzx eax, word [esi + 0xc]
mov ecx, 0x88
cmp ax, cx
je 0x5038ef
mov edx, 0x85
cmp ax, dx
je 0x5038ef
mov ecx, 0x12c
cmp word [edi + 0x48], cx
je 0x5038ef
mov edx, 0x83
cmp ax, dx
jne 0x503746
test byte [esi + 0x29e], 1
je 0x503746
push edi
push esi
mov ecx, ebp
call fcn.004104ab
push edi
push esi
mov ecx, ebp
call fcn.00409bd8
jmp 0x503d19
push edi
push esi
mov ecx, ebp
call fcn.004104ab
cmp word [edi + 0xe0], 0xb
jne 0x503738
push 0x2c
call fcn.006112e7
add esp, 4
test eax, eax
je 0x50376e
mov ecx, eax
call fcn.0040a759
mov eax, dword [0x7b2210]
mov edx, dword [esi]
mov ebx, 1
mov ecx, esi
cmp dword [eax + 0x218], ebx
jne 0x50378c
mov eax, dword [edx + 0x74]
call eax
push eax
jmp 0x503795
mov eax, dword [edx + 0x78]
call eax
movzx ecx, ax
push ecx
lea ecx, [ebp + 0x1ac]
call fcn.0040cb71
mov ebp, eax
test ebp, ebp
je 0x503d19
push 0
push 0
mov ecx, esi
push 0xffffff
cmp dword [edi + 0x50], ebx
jne 0x503888
push 0x65dea2
call fcn.0040cb21
push 0
lea edx, [esp + 0x48]
push edx
push 0xffffb0
push 0x65dea3
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x2fe
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
push 0x7f
lea eax, [esp + 0x109]
push 0
push eax
mov byte [esp + 0x110], 0
call fcn.00610b10
mov eax, dword [ebp + 0x28]
mov ecx, eax
shr ecx, 6
add esp, 0xc
and ecx, 0x3f
push ecx
mov edx, eax
shr edx, 0xc
and edx, 0x3f
push edx
mov ecx, eax
mov edx, eax
shr ecx, 0x12
and ecx, 0x3f
push ecx
shr edx, 0x18
and edx, 0xf
shr eax, 0x1c
push edx
add eax, 0xf
push eax
push 0x2ff
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x11c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x110]
push ecx
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
push 0x65dea9
call fcn.0040cb21
push 0
lea edx, [esp + 0x48]
push edx
push 0xffffb0
push 0x65deaa
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x5a2
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffc800
push 0x5a4
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
test byte [esi + 0x2a4], 1
push ebx
mov ecx, ebp
je 0x503957
call fcn.00402e23
test eax, eax
je 0x503934
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push edi
push esi
mov ecx, ebp
call fcn.00404322
push 0
push 0
push 0xffffff
push 0x65de99
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
push edi
push esi
mov ecx, ebp
call fcn.004104ab
push 0
push 0
push 0xffffff
push 0x65de9a
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
call fcn.00402e23
mov ecx, ebp
test eax, eax
je 0x50397b
mov edx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x10]
push edx
push eax
push edi
push esi
call fcn.00404322
jmp 0x503d19
push edi
push esi
call fcn.004104ab
push 0
push 0
push 0xffffff
push 0x65de9b
mov ecx, esi
call fcn.0040cb21
jmp 0x503d19
mov edi, eax
and edi, 0x80
jne 0x5039cd
cmp eax, 0x42
je 0x5039cd
cmp eax, 0x41
je 0x5039cd
cmp eax, 0x43
je 0x5039cd
push edi
push 0x30b
push 0x65decc
call fcn.0040aec0
add esp, 0xc
jmp 0x503d19
push ebx
mov ecx, ebp
call fcn.004010fa
mov ebx, eax
test ebx, ebx
je 0x503d19
lea ecx, [ebx + 2]
push ecx
lea edx, [esp + 0x88]
push 0x65debc
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 2
push 0
push 0xffffff
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65deab
mov ecx, esi
call fcn.0040cb21
push 0x968
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x8c]
push 0x65dec4
push ecx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0x90]
push edx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65deb2
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65deb3
mov ecx, esi
call fcn.0040cb21
push 0
lea eax, [esp + 0x48]
push eax
push 0xffffb0
push 0x65deb9
mov ecx, esi
call fcn.0040cb21
test edi, edi
je 0x503bd9
movzx eax, word [esi + 0xc]
mov ecx, 0x88
cmp ax, cx
je 0x503ae2
mov edx, 0x85
cmp ax, dx
je 0x503ae2
mov eax, dword [esi]
mov edx, dword [eax + 0x74]
mov ecx, esi
call edx
mov edi, eax
jmp 0x503ae8
mov edi, dword [esi + 0x2a0]
push ebx
push esi
mov ecx, ebp
call fcn.004043f4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x503afc
push eax
jmp 0x503b05
test edi, edi
je 0x503bd9
push edi
mov ecx, 0x7f9d28
call fcn.0040d86e
test eax, eax
je 0x503bd9
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
test eax, eax
jns 0x503b2c
fadd dword [0x64ba74]
fmul qword [0x64ba48]
fdiv qword [0x6501c0]
fstp dword [esp + 0x10]
fldz
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x503b60
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x503b60
fstp dword [esp + 0x10]
jmp 0x503b62
fstp st(0)
push 0x80
lea ecx, [esp + 0x88]
push 0
push ecx
call fcn.00610b10
fld dword [esp + 0x1c]
fnstcw word [esp + 0x1c]
add esp, 0xc
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x14], eax
mov ecx, 0x7c5388
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
push edx
push 0x5ec
fldcw word [esp + 0x18]
call fcn.00408599
push eax
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
cmp dword [esp + 0x1c], 0x41
jne 0x503cc3
movzx eax, word [esi + 0xc]
mov edx, 0x88
cmp ax, dx
je 0x503c09
mov ecx, 0x85
cmp ax, cx
je 0x503c09
mov edx, dword [esi]
mov eax, dword [edx + 0x74]
mov ecx, esi
call eax
mov edi, eax
jmp 0x503c0f
mov edi, dword [esi + 0x2a0]
push 0x80
lea ecx, [esp + 0x88]
push 0
push ecx
call fcn.00610b10
movzx edx, word [ebx + 0xc8]
add esp, 0xc
push edx
push 0x5ef
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0xffffff
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
test edi, edi
je 0x503cc3
cmp edi, dword [0x7f9d3c]
jne 0x503cc3
push 0x80
lea edx, [esp + 0x88]
push 0
push edx
call fcn.00610b10
add esp, 0xc
push 0x5f0
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0
push 0
push 0xffffff
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65deba
mov ecx, esi
call fcn.0040cb21
push 0
lea edx, [esp + 0x48]
push edx
push 0xffffb0
push 0x65debb
mov ecx, esi
call fcn.0040cb21
movzx eax, word [ebx + 0x44]
push 1
push 0xc8d7aa
push eax
push esi
mov ecx, ebp
call fcn.00404345
jmp 0x503d19
push ebx
mov ecx, ebp
call fcn.004010fa
test eax, eax
je 0x503d19
push eax
push esi
call fcn.00404d54
lea ecx, [esp + 0x44]
call fcn.00409b24
lea ecx, [esp + 0x64]
call fcn.00409b24
lea ecx, [esp + 0x24]
call fcn.00409b24
mov ecx, dword [esp + 0x184]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.006111ee
add esp, 0x178
ret 0x18