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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4dfbf6
sub esp, 0x68
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4df4ad
lea eax, [0x5ae9e0]
mov dword [esp], eax
call fcn.0040bc50
mov edi, dword [esp + 4]
mov eax, dword [0x7adde0]
test eax, eax
jne 0x4df27c
mov ebx, dword [esp + 0x6c]
mov dword [edi], ebx
jmp 0x4df287
mov eax, dword [esp + 0x6c]
call fcn.00462400
mov ebx, eax
mov dword [esp + 0x5c], edi
mov ebp, dword [esp + 0x80]
test ebp, ebp
jne 0x4df2cd
mov esi, dword [esp + 0x78]
test esi, esi
jne 0x4df2a4
xor ecx, ecx
xor eax, eax
jmp 0x4df2f7
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x5c]
jmp 0x4df2f7
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x54], eax
mov edx, ebp
mov ebp, dword [ebx + 0x140]
mov esi, dword [ebx + 0x144]
cmp esi, 4
jne 0x4df320
cmp dword [ebp], 0x78696e75
je 0x4df378
jmp 0x4df3a0
cmp esi, 8
jne 0x4df339
cmp dword [ebp], 0x78696e75
jne 0x4df3a0
cmp dword [ebp + 4], 0x6d617267
je 0x4df378
jmp 0x4df3a0
cmp esi, 0xa
jne 0x4df3a0
mov dword [esp], ebp
lea eax, [0x5dd457]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x4df389
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x5c]
mov ebp, dword [ebx + 0x140]
mov esi, dword [ebx + 0x144]
jmp 0x4df459
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x5c]
mov ebp, dword [ebx + 0x144]
mov esi, dword [ebx + 0x140]
lea edi, [ebp - 1]
cmp ebp, edi
jbe 0x4dfbec
movzx edi, byte [ebp + esi - 1]
xchg edi, eax
cmp al, 0x34
xchg edi, eax
je 0x4df3ca
xchg edi, eax
cmp al, 0x36
xchg edi, eax
jne 0x4df3da
mov edi, dword [esp + 0x5c]
mov edi, esi
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x5c]
jmp 0x4df459
cmp dword [ebx + 0x134], 2
jne 0x4df41f
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
lea eax, [0x62c020]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044d7c0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x5c]
jmp 0x4df459
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
lea eax, [0x62c024]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044d7c0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x88]
mov ebx, dword [edx]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
lea eax, [0x62e2a8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x38]
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test eax, eax
jne 0x4dfbda
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x4df4bb
xor ebp, ebp
xor esi, esi
jmp 0x4df534
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x134]
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0xc]
test ecx, ecx
jne 0x4dfbc8
test ebp, ebp
je 0x4df534
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x10]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004768f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4dfb5d
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4df5fd
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], ebp
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x134]
mov ebx, dword [esp + 0x84]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test edx, edx
jne 0x4df5eb
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov ebx, dword [esp + 0x70]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004d0890
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test eax, eax
jne 0x4df5d9
mov eax, dword [esp + 0x6c]
mov byte [eax + 0x13c], 1
jmp 0x4df625
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
add esp, 0x68
ret
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebp
add esp, 0x68
ret
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004d0780
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x4dfb4b
mov eax, dword [esp + 0x6c]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.004769d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x4df7fe
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x134]
cmp ebp, 1
jne 0x4df688
mov ebp, dword [ebx + 0x138]
cmp ebp, 1
jne 0x4df66e
lea ebp, [0x5f5c18]
jmp 0x4df6c5
cmp ebp, 2
jne 0x4df67b
lea ebp, [0x5f5c10]
jmp 0x4df6c5
cmp ebp, 5
jne 0x4df6bf
lea ebp, [0x5f5c14]
jmp 0x4df6c5
cmp ebp, 2
je 0x4df692
cmp ebp, 0x17
jne 0x4df6bf
mov ebp, dword [ebx + 0x138]
cmp ebp, 1
jne 0x4df6a5
lea ebp, [0x5f5c08]
jmp 0x4df6c5
cmp ebp, 2
jne 0x4df6b2
lea ebp, [0x5f5c0c]
jmp 0x4df6c5
cmp ebp, 3
jne 0x4df6bf
lea ebp, [0x5f5c04]
jmp 0x4df6c5
lea ebp, [0x5f5bac]
mov ebx, dword [ebp]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, ebp
call ebx
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x134]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x64], ebp
cmp ecx, 1
jne 0x4df71f
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x4df705
lea ecx, [0x5f5c18]
jmp 0x4df75c
cmp ecx, 2
jne 0x4df712
lea ecx, [0x5f5c10]
jmp 0x4df75c
cmp ecx, 5
jne 0x4df756
lea ecx, [0x5f5c14]
jmp 0x4df75c
cmp ecx, 2
je 0x4df729
cmp ecx, 0x17
jne 0x4df756
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x4df73c
lea ecx, [0x5f5c08]
jmp 0x4df75c
cmp ecx, 2
jne 0x4df749
lea ecx, [0x5f5c0c]
jmp 0x4df75c
cmp ecx, 3
jne 0x4df756
lea ecx, [0x5f5c04]
jmp 0x4df75c
lea ecx, [0x5f5bb0]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x34]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x6c]
mov dword [ebp + 0x148], ebx
mov ebx, dword [0x7adde0]
test ebx, ebx
jne 0x4df79d
mov edx, dword [esp + 0x4c]
mov dword [ebp + 0x14c], edx
jmp 0x4df7b0
lea edi, [ebp + 0x14c]
mov edx, eax
mov eax, dword [esp + 0x4c]
call fcn.00462400
mov eax, edx
mov dword [ebp + 0x150], ecx
mov ecx, dword [0x7adde0]
test ecx, ecx
jne 0x4df7c8
mov dword [ebp + 0x154], eax
jmp 0x4df7d3
lea edi, [ebp + 0x154]
call fcn.00462400
lea eax, [0x5d0080]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x5a2d00]
mov dword [esp + 8], eax
lea eax, [0x5f5ba8]
mov dword [esp + 0xc], eax
call fcn.00414b50
jmp 0x4dfb31
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.00476ab0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
test edx, edx
je 0x4df9e8
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x134]
cmp ebp, 1
jne 0x4df86d
mov ebp, dword [ebx + 0x138]
cmp ebp, 1
jne 0x4df853
lea edx, [0x5f5c18]
jmp 0x4df8aa
cmp ebp, 2
jne 0x4df860
lea edx, [0x5f5c10]
jmp 0x4df8aa
cmp ebp, 5
jne 0x4df8a4
lea edx, [0x5f5c14]
jmp 0x4df8aa
cmp ebp, 2
je 0x4df877
cmp ebp, 0x17
jne 0x4df8a4
mov ebp, dword [ebx + 0x138]
cmp ebp, 1
jne 0x4df88a
lea edx, [0x5f5c08]
jmp 0x4df8aa
cmp ebp, 2
jne 0x4df897
lea edx, [0x5f5c0c]
jmp 0x4df8aa
cmp ebp, 3
jne 0x4df8a4
lea edx, [0x5f5c04]
jmp 0x4df8aa
lea edx, [0x5f5bb4]
mov eax, dword [edx]
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
call eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x134]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x64], ebp
cmp ecx, 1
jne 0x4df909
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x4df8ef
lea ecx, [0x5f5c18]
jmp 0x4df946
cmp ecx, 2
jne 0x4df8fc
lea ecx, [0x5f5c10]
jmp 0x4df946
cmp ecx, 5
jne 0x4df940
lea ecx, [0x5f5c14]
jmp 0x4df946
cmp ecx, 2
je 0x4df913
cmp ecx, 0x17
jne 0x4df940
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x4df926
lea ecx, [0x5f5c08]
jmp 0x4df946
cmp ecx, 2
jne 0x4df933
lea ecx, [0x5f5c0c]
jmp 0x4df946
cmp ecx, 3
jne 0x4df940
lea ecx, [0x5f5c04]
jmp 0x4df946
lea ecx, [0x5f5bb8]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x60]
mov dword [esp], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x6c]
mov dword [ebp + 0x148], ebx
mov ebx, dword [0x7adde0]
test ebx, ebx
jne 0x4df987
mov edx, dword [esp + 0x48]
mov dword [ebp + 0x14c], edx
jmp 0x4df99a
lea edi, [ebp + 0x14c]
mov edx, eax
mov eax, dword [esp + 0x48]
call fcn.00462400
mov eax, edx
mov dword [ebp + 0x150], ecx
mov ecx, dword [0x7adde0]
test ecx, ecx
jne 0x4df9b2
mov dword [ebp + 0x154], eax
jmp 0x4df9bd
lea edi, [ebp + 0x154]
call fcn.00462400
lea eax, [0x5d0080]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x5a2d00]
mov dword [esp + 8], eax
lea eax, [0x5f5ba8]
mov dword [esp + 0xc], eax
call fcn.00414b50
jmp 0x4dfb31
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x134]
cmp ecx, 1
jne 0x4dfa24
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x4dfa0a
lea ecx, [0x5f5c18]
jmp 0x4dfa61
cmp ecx, 2
jne 0x4dfa17
lea ecx, [0x5f5c10]
jmp 0x4dfa61
cmp ecx, 5
jne 0x4dfa5b
lea ecx, [0x5f5c14]
jmp 0x4dfa61
cmp ecx, 2
je 0x4dfa2e
cmp ecx, 0x17
jne 0x4dfa5b
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x4dfa41
lea ecx, [0x5f5c08]
jmp 0x4dfa61
cmp ecx, 2
jne 0x4dfa4e
lea ecx, [0x5f5c0c]
jmp 0x4dfa61
cmp ecx, 3
jne 0x4dfa5b
lea ecx, [0x5f5c04]
jmp 0x4dfa61
lea ecx, [0x5f5bbc]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x64], ecx
lea ebx, [0x5afe00]
mov dword [esp], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
call fcn.00409690
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x148], ecx
mov ecx, dword [0x7adde0]
test ecx, ecx
jne 0x4dfac7
mov ecx, dword [esp + 0x44]
mov dword [ebx + 0x14c], ecx
jmp 0x4dfada
lea edi, [ebx + 0x14c]
mov ecx, eax
mov eax, dword [esp + 0x44]
call fcn.00462400
mov eax, ecx
mov dword [ebx + 0x150], eax
mov ecx, dword [0x7adde0]
test ecx, ecx
jne 0x4dfaf9
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x154], eax
jmp 0x4dfb0b
lea edi, [ebx + 0x154]
mov eax, dword [esp + 0x84]
call fcn.00462400
lea eax, [0x5d0080]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [0x5a2d00]
mov dword [esp + 8], eax
lea eax, [0x5f5ba8]
mov dword [esp + 0xc], eax
call fcn.00414b50
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
add esp, 0x68
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
add esp, 0x68
ret
mov dword [esp + 0x50], ecx
mov dword [esp + 0x64], edx
lea eax, [0x5b3dc0]
mov dword [esp], eax
call fcn.0040bc50
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x5d7e84]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ecx, dword [0x7adde0]
test ecx, ecx
jne 0x4dfba0
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], ecx
jmp 0x4dfbb0
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.00462400
mov eax, ecx
lea ecx, [0x62d924]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
add esp, 0x68
ret
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ebx
add esp, 0x68
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ebx
add esp, 0x68
ret
mov eax, edi
mov ecx, ebp
call fcn.00462480
nop
call fcn.00460ff0
jmp fcn.004df230