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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x415681
sub esp, 0x4c
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
nop
inc dword [ecx + 0x78]
mov ecx, dword [eax + 0x18]
test byte [eax], al
mov eax, dword fs:[0x14]
mov eax, dword [eax]
cmp dword [ecx], eax
je 0x4155aa
mov edx, dword [ecx + 0x78]
cmp edx, 1
jg 0x4155aa
mov ebx, dword [ecx + 0x74]
test ebx, ebx
jne 0x4155aa
nop
lea ebx, [edx - 1]
mov dword [ecx + 0x78], ebx
cmp edx, 1
jne 0x415139
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x415139
mov dword [eax + 8], 0xfffffade
jmp 0x415141
inc dword [0x5b1b6c]
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
call fcn.00414fa0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x415599
xor eax, eax
test al, al
jne 0x41513b
nop
lea eax, [0x5b20a0]
mov dword [esp], eax
mov byte [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.0043c8a0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], ecx
call fcn.00414fa0
movzx eax, byte [esp + 0x10]
test al, al
je 0x415579
mov eax, dword [esp + 0x50]
cmp eax, 2
sete al
mov byte [0x5b20b4], al
mov eax, dword [0x5c2f5c]
cmp eax, 1
jne 0x415563
mov eax, 1
mov dword [esp + 0x14], eax
lea ecx, [0x59e114]
mov dword [esp], ecx
mov byte [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.0043c8a0
movzx eax, byte [0x5bac08]
test al, al
jne 0x4154f2
mov eax, dword [0x5b1a60]
mov dword [esp + 0x40], eax
mov ecx, dword [0x5b1a64]
mov dword [esp + 0x28], ecx
xor edx, edx
jmp 0x41524e
mov ebx, dword [esp + 0x24]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
cmp edx, ecx
jge 0x415283
mov dword [esp + 0x24], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x3c], ecx
mov ebx, dword [ecx + 0x30]
test byte [ebx], al
add ebx, 0x358
mov dword [esp], ebx
call fcn.00401f70
mov eax, dword [esp + 4]
mov ecx, dword [0x5b4808]
cmp eax, ecx
je 0x41523f
jmp 0x4155cc
call 0x416830
lea eax, [0x4fd0c4]
mov dword [esp], eax
call fcn.00452660
mov eax, dword [0x5c2d28]
mov dword [0x5b20e0], eax
mov dword [0x5b20e4], eax
mov ecx, dword [0x5c2d30]
cmp eax, ecx
jle 0x4152b8
mov dword [0x5b20e0], ecx
lea eax, [0x5c5960]
mov dword [esp], eax
call fcn.00402180
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [0x5b2118], eax
mov dword [0x5b211c], ecx
mov dword [0x5b2108], 0
mov dword [0x5b210c], 0
mov eax, dword [esp + 0x14]
mov dword [0x5b20b0], eax
call fcn.00454f20
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [0x5b20e8], eax
mov dword [0x5b20ec], ecx
mov dword [0x5b2110], eax
mov dword [0x5b2114], ecx
movzx eax, byte [0x5bac08]
test al, al
jne 0x4154a4
lea eax, [0x4fd18c]
mov dword [esp], eax
call fcn.00452660
lea eax, [0x4fd0c8]
mov dword [esp], eax
call fcn.00452660
call fcn.004176c0
inc dword [0x5b20dc]
lea eax, [0x5c3280]
mov dword [esp], eax
call fcn.00413910
mov eax, dword [0x5c43cc]
mov ecx, dword [0x5c43c8]
mov dword [0x5b2130], ecx
mov dword [0x5b2134], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x415496
nop
lea eax, [0x5c2d24]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00402160
mov eax, dword [0x5c2d24]
cmp eax, 1
jne 0x41548b
mov eax, 1
mov byte [0x5c2e64], al
test al, al
je 0x41547f
mov eax, 1
mov byte [0x5c2e60], al
nop
mov dword [0x5b2078], 0xffffffff
mov dword [0x5b2084], 0xffffffff
call fcn.00417b20
call fcn.0041b440
lea eax, [0x5c2d18]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00402160
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [0x5c32b0], ecx
mov dword [0x5c32b4], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [0x44fbf0]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.00452660
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41546e
lea eax, [0x5b20a0]
mov dword [esp], eax
mov byte [esp + 4], 0
mov dword [esp + 8], 0
call fcn.0043cbb0
add esp, 0x4c
ret
nop
lea eax, [0x4fd0d8]
mov dword [esp], eax
call fcn.00452600
jmp 0x41544f
movzx eax, byte [0x5c2e65]
jmp 0x4153ca
cmp eax, 2
sete al
jmp 0x4153b7
mov byte [esp], 0
call fcn.0043a460
jmp 0x41538c
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 0
mov byte [esp], 9
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00447c90
jmp 0x415333
nop
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov eax, dword [0x5bac3c]
mov ecx, dword [0x5bac38]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
mov byte [esp], 7
mov dword [esp + 4], 3
lea eax, [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00447c90
mov eax, dword [0x5bac38]
add eax, 1
mov ecx, dword [0x5bac3c]
mov dword [0x5bac38], eax
adc ecx, 0
mov dword [0x5bac3c], ecx
jmp 0x415227
cmp eax, 2
jne 0x415572
mov eax, 2
jmp 0x4151f1
xor eax, eax
jmp 0x4151f1
nop
lea eax, [0x5b20a0]
mov dword [esp], eax
mov byte [esp + 4], 0
mov dword [esp + 8], 0
call fcn.0043cbb0
add esp, 0x4c
ret
call fcn.0041d680
cmp dword [esp], 0xffffffff
setne al
jmp 0x415174
nop
mov edx, dword [ecx + 0x78]
lea ebx, [edx - 1]
mov dword [ecx + 0x78], ebx
cmp edx, 1
jne 0x4155c8
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x4155c8
mov dword [eax + 8], 0xfffffade
add esp, 0x4c
ret
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
call fcn.0042f0c0
lea eax, [0x4f2865]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0042f960
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042f7a0
lea eax, [0x4f21a0]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.0042f960
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042f670
lea eax, [0x4f2d77]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.0042f960
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042f670
call fcn.0042f2e0
call fcn.0042f130
lea eax, [0x4f5626]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.0042dc50
nop
call fcn.00452780
jmp fcn.004150c0