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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x51f8ca
sub esp, 0xf4
nop
mov eax, dword [esp + 0x100]
test eax, eax
je 0x51f7f5
nop
nop
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x5c], eax
cmp eax, 0x14
je 0x51f7ae
xor edx, edx
lea ebx, [esp + 0xc]
mov dword [esp + 0x84], ebx
test dl, dl
jne 0x51f72e
nop
nop
cmp eax, 0x17
je 0x51f6f0
xor edx, edx
test dl, dl
je 0x51e7ea
movzx edx, byte [esp + 0x119]
test dl, dl
jne 0x51f69f
movzx edx, byte [esp + 0x104]
test dl, dl
je 0x51e810
mov edx, dword [esp + 0x108]
test edx, edx
je 0x51e810
nop
nop
nop
add eax, 0xfffffffe
cmp eax, 4
jbe 0x51f527
movzx eax, byte [esp + 0x104]
test al, al
je 0x51e82b
mov eax, dword [esp + 0x108]
test eax, eax
je 0x51f40e
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004941e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp dword [0x727818], ecx
je 0x51f1ed
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
call fcn.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0051aab0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x51f0ec
test al, al
jne 0x51f0ec
mov eax, dword [esp + 0x114]
test eax, eax
je 0x51e8cd
cmp ecx, 0x17
jne 0x51f072
mov ebx, dword [esp + 0x110]
test ebx, ebx
je 0x51e8e1
cmp ecx, 0x13
jne 0x51eff8
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x37], dl
cmp ecx, 0x13
jne 0x51ef40
test ebx, ebx
jne 0x51ef39
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
call fcn.004940f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
xor edx, edx
cmp edx, eax
jge 0x51ef30
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x51ef08
inc edx
cmp ebx, 0x80
jge 0x51e971
nop
cmp bl, 0x61
jb 0x51ee27
cmp bl, 0x7a
ja 0x51ee27
mov ebx, 1
test bl, bl
jne 0x51e934
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
call fcn.004940f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046e580
movzx eax, byte [esp + 8]
test al, al
je 0x51edbd
mov eax, 0xc
movzx ecx, byte [esp + 0x118]
test cl, cl
je 0x51e9d6
cmp eax, 0x10
jne 0x51ed43
mov eax, 0x11
mov dword [esp + 0x3c], eax
lea ecx, [0x5a93e0]
mov dword [esp], ecx
call fcn.00409bc0
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x84]
lea esi, [esp + 0x104]
call fcn.0044d474
call fcn.0051d370
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x68]
mov dword [ebp + 0x10], ebx
mov esi, dword [0x738420]
test esi, esi
jne 0x51ed30
mov dword [ebp + 0x14], edx
test ecx, ecx
jne 0x51ed05
mov eax, dword [ebx + 0x14]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x10c]
test ecx, ecx
je 0x51ecfa
movzx edx, byte [esp + 0x106]
test dl, dl
je 0x51ecda
mov edx, 1
movzx ebx, byte [esp + 0x105]
test bl, bl
jne 0x51eb40
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x68]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x18], al
call fcn.0051bcc0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov edx, dword [esp + 0x68]
mov dword [edx + 8], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x51eb36
mov dword [edx + 0xc], eax
lea eax, [0x601d00]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
lea edi, [edx + 0xc]
call fcn.0044cea0
jmp 0x51eb05
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
movzx edx, byte [esp + 0x37]
mov byte [esp + 0x18], dl
call fcn.0051bcc0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov edx, dword [esp + 0x68]
mov dword [edx + 8], ecx
mov ebx, dword [0x738420]
test ebx, ebx
jne 0x51eccd
mov dword [edx + 0xc], eax
lea eax, [0x5a93e0]
mov dword [esp], eax
call fcn.00409bc0
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
lea ecx, [0x601d00]
mov dword [eax + 0x10], ecx
mov edx, dword [0x738420]
test edx, edx
jne 0x51ecba
mov edx, dword [esp + 0x68]
mov dword [eax + 0x14], edx
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 1
call fcn.0051bcc0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov edx, dword [esp + 0x60]
mov dword [edx + 8], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x51ecb0
mov dword [edx + 0xc], eax
lea eax, [0x601d00]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
lea edi, [edx + 0xc]
call fcn.0044cea0
jmp 0x51ec7f
lea edi, [eax + 0x14]
mov eax, dword [esp + 0x68]
call fcn.0044cea0
mov edx, eax
jmp 0x51ebf3
lea edi, [edx + 0xc]
call fcn.0044cea0
jmp 0x51ebbf
movzx edx, byte [esp + 0x107]
test dl, dl
je 0x51ecf0
mov edx, 3
jmp 0x51ea88
mov edx, 2
jmp 0x51ea88
mov ecx, dword [esp + 0x3c]
xor edx, edx
jmp 0x51ea9a
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
add esp, 0xf4
ret
lea edi, [ebp + 0x14]
mov esi, eax
mov eax, edx
call fcn.0044cea0
mov eax, esi
jmp 0x51ea50
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea eax, [0x5ccae8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0x1a
lea eax, [0x6011c0]
mov dword [esp], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
call fcn.00407740
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0xf4
ret
nop
lea eax, [0x59e6a0]
mov dword [esp], eax
call fcn.00409bc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1c
mov eax, dword [0x738420]
test eax, eax
jne 0x51ee1a
lea eax, [0x5cd306]
mov dword [edi], eax
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
lea eax, [0x600de0]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], edi
add esp, 0xf4
ret
lea eax, [0x5cd306]
call fcn.0044cea0
jmp 0x51ede9
cmp bl, 0x41
jb 0x51ef01
cmp bl, 0x5a
xchg ebp, ebx
setbe bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51ee4a
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x30
jb 0x51eefa
cmp bl, 0x39
xchg ebp, ebx
setbe bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51ee6d
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x27
jb 0x51eef6
cmp bl, 0x29
xchg ebp, ebx
setbe bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51ee90
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x2b
jb 0x51eef2
cmp bl, 0x2f
xchg ebp, ebx
setbe bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51eeaf
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x20
jne 0x51eebe
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x3a
jne 0x51eecd
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x3d
jne 0x51eedc
mov ebx, 1
jmp 0x51e96d
cmp bl, 0x3f
jne 0x51eeeb
mov ebx, 1
jmp 0x51e96d
xor ebx, ebx
jmp 0x51e96d
xor ebp, ebp
jmp 0x51ee9f
xor ebp, ebp
jmp 0x51ee80
xor ebp, ebp
jmp 0x51ee5d
xor ebp, ebp
jmp 0x51ee3a
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00447c70
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x80]
jmp 0x51e94d
mov eax, dword [esp + 0x3c]
jmp 0x51e9bc
mov eax, ebx
jmp 0x51e9bc
cmp ecx, 0x17
jne 0x51eff1
cmp eax, 0x18
jne 0x51ef68
mov eax, 1
test al, al
je 0x51ef61
mov eax, 0x18
jmp 0x51e9bc
mov eax, ecx
jmp 0x51e9bc
nop
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00492aa0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
lea edi, [esp + 0x98]
xor eax, eax
call fcn.0044cf9b
lea eax, [0x5c3ba0]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jne 0x51f89a
lea edi, [esp + 0x98]
call fcn.0044d47e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0044d47e
call fcn.0051c640
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x37]
jmp 0x51ef53
mov eax, ecx
jmp 0x51e9bc
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea eax, [0x5d1b90]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0x2f
lea eax, [0x6011c0]
mov dword [esp], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
call fcn.00407740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
add esp, 0xf4
ret
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea eax, [0x5d116c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0x2b
lea eax, [0x6011c0]
mov dword [esp], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
call fcn.00407740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004941e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x51f120
mov ecx, dword [ecx + 4]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea eax, [0x5ca0a4]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1310
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
lea eax, [0x6011c0]
mov dword [esp], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
call fcn.00407740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
add esp, 0xf4
ret
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0x72781c]
mov dword [esp + 8], eax
call fcn.00403130
movzx eax, byte [esp + 0xc]
test al, al
je 0x51e85d
nop
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00492aa0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0044cf97
lea eax, [0x5b0d00]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jne 0x51f8b2
lea edi, [esp + 0xd0]
call fcn.0044d456
lea edi, [esp + 0xac]
lea esi, [esp + 0xd0]
call fcn.0044d456
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc4]
test eax, eax
jne 0x51f3c9
lea eax, [0x5a93e0]
mov dword [esp], eax
call fcn.00409bc0
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xbc]
movzx ebp, byte [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
xchg ebp, eax
mov byte [esp + 0x18], al
xchg ebp, eax
call fcn.0051bcc0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov edx, dword [esp + 0x6c]
mov dword [edx + 8], ecx
mov ebx, dword [0x738420]
test ebx, ebx
jne 0x51f3bc
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x51f3b2
mov dword [edx + 0x14], eax
lea eax, [0x601d00]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
lea edi, [edx + 0x14]
call fcn.0044cea0
jmp 0x51f381
lea edi, [edx + 0xc]
call fcn.0044cea0
jmp 0x51f33e
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
nop
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.00492aa0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x100]
mov dword [esp + 8], ebp
call fcn.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00494930
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
nop
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00492aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0048a9c0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x51f4d6
mov ecx, dword [esp + 0x100]
jmp 0x51e82b
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004941e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00494a00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00492280
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x5c], ebx
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00493c10
nop
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00492aa0
nop
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00492aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0048a9c0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x51f64e
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0x84]
jmp 0x51e810
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00407650
mov eax, dword [esp + 0xc]
lea ecx, [0x602100]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00492c50
mov eax, dword [esp + 0xc]
test eax, eax
sete dl
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0x84]
jmp 0x51e7d6
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00492280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x84]
lea esi, [esp + 0x104]
call fcn.0044d474
call fcn.0051e770
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x6c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
test eax, eax
sete dl
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x100]
jmp 0x51e7b6
nop
lea eax, [0x5cdeee]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004a1310
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], eax
nop
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [0x59e6a0]
mov dword [esp], edx
call fcn.00409bc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x738420]
test eax, eax
jne 0x51f88f
mov eax, dword [esp + 0x64]
mov dword [edi], eax
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
lea eax, [0x600de0]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], edi
add esp, 0xf4
ret
mov eax, dword [esp + 0x64]
call fcn.0044cea0
jmp 0x51f85e
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x597460]
mov dword [esp + 8], eax
call fcn.00407290
ud2
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x597460]
mov dword [esp + 8], eax
call fcn.00407290
ud2
call fcn.0044b750
jmp fcn.0051e770