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

Disassembly:
mov ecx, dword [0x93ee7c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x510fd2
sub esp, 0x70
mov eax, dword [esp + 0x90]
test eax, eax
je 0x5108b9
nop
lea eax, [0x6e7500]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [0x93f150]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x510689
mov ebx, dword [esp + 0x74]
jmp 0x510694
call fcn.00471830
mov ebx, dword [esp + 0x74]
mov dword [edi], ebx
mov dword [esp + 0x6c], ecx
mov dword [ecx], ebx
mov ebp, dword [esp + 0x88]
test ebp, ebp
jne 0x5106e9
mov esi, dword [esp + 0x80]
test esi, esi
jne 0x5106b6
xor eax, eax
xor edx, edx
jmp 0x510716
mov eax, dword [esi + 0x10]
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 + 0x74]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x80]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x6c]
jmp 0x510716
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
call eax
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], edx
mov edi, dword [ebx + 0x13c]
mov ebp, dword [ebx + 0x138]
cmp edi, 4
jne 0x51073d
cmp dword [ebp], 0x78696e75
je 0x510795
jmp 0x5107bd
cmp edi, 8
jne 0x510756
cmp dword [ebp], 0x78696e75
jne 0x5107bd
cmp dword [ebp + 4], 0x6d617267
je 0x510795
jmp 0x5107bd
cmp edi, 0xa
jne 0x5107bd
mov dword [esp], ebp
lea eax, [0x71c99c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00402d90
movzx eax, byte [esp + 0xc]
test al, al
je 0x5107a6
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
mov ebp, dword [ebx + 0x138]
mov edi, dword [ebx + 0x13c]
jmp 0x51086e
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
mov ebp, dword [ebx + 0x13c]
lea edi, [ebp - 1]
cmp ebp, edi
jbe 0x510fc8
mov edi, dword [ebx + 0x138]
movzx esi, byte [ebp + edi - 1]
xchg esi, eax
cmp al, 0x34
xchg esi, eax
je 0x5107e7
xchg esi, eax
cmp al, 0x36
xchg esi, eax
jne 0x5107ef
mov esi, edi
mov edi, ebp
mov ebp, esi
jmp 0x51086e
cmp dword [ebx + 0x12c], 2
jne 0x510834
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
lea eax, [0x788784]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00450670
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
jmp 0x51086e
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
lea eax, [0x78879c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00450670
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x90]
mov esi, dword [ebx]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
lea eax, [0x78baec]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x90]
call esi
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x510fb2
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x5108ca
xor eax, eax
xor ecx, ecx
jmp 0x510932
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x12c]
mov ebx, dword [esp + 0x84]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x510f9c
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x510932
mov dword [esp + 0x50], ecx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004a1150
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x510f32
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x88]
test edx, edx
je 0x5109f3
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], ecx
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x74]
mov ebx, dword [ecx + 0x12c]
mov ebp, dword [esp + 0x8c]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5109dd
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.005027f0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5109c7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x74]
mov byte [edx + 0x134], 1
jmp 0x510a13
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x70
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.00502700
mov eax, dword [esp + 4]
test eax, eax
jne 0x510f1c
mov edx, dword [esp + 0x74]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], ecx
mov ebx, dword [edx + 0x10]
mov dword [esp], ebx
call fcn.004a1230
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x48]
test edx, edx
je 0x510be2
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 0x12c]
cmp ebp, 1
jne 0x510a76
mov ebp, dword [ebx + 0x130]
cmp ebp, 1
jne 0x510a5c
lea ebp, [0x7388b8]
jmp 0x510ab3
cmp ebp, 2
jne 0x510a69
lea ebp, [0x7388bc]
jmp 0x510ab3
cmp ebp, 5
jne 0x510aad
lea ebp, [0x7388c0]
jmp 0x510ab3
cmp ebp, 2
je 0x510a80
cmp ebp, 0x17
jne 0x510aad
mov ebp, dword [ebx + 0x130]
cmp ebp, 1
jne 0x510a93
lea ebp, [0x7388b0]
jmp 0x510ab3
cmp ebp, 2
jne 0x510aa0
lea ebp, [0x7388b4]
jmp 0x510ab3
cmp ebp, 3
jne 0x510aad
lea ebp, [0x7388ac]
jmp 0x510ab3
lea ebp, [0x738864]
mov ebx, dword [ebp]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, ebp
call ebx
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x12c]
cmp ecx, 1
jne 0x510afd
mov ecx, dword [eax + 0x130]
cmp ecx, 1
jne 0x510ae3
lea ecx, [0x7388b8]
jmp 0x510b3a
cmp ecx, 2
jne 0x510af0
lea ecx, [0x7388bc]
jmp 0x510b3a
cmp ecx, 5
jne 0x510b34
lea ecx, [0x7388c0]
jmp 0x510b3a
cmp ecx, 2
je 0x510b07
cmp ecx, 0x17
jne 0x510b34
mov ecx, dword [eax + 0x130]
cmp ecx, 1
jne 0x510b1a
lea ecx, [0x7388b0]
jmp 0x510b3a
cmp ecx, 2
jne 0x510b27
lea ecx, [0x7388b4]
jmp 0x510b3a
cmp ecx, 3
jne 0x510b34
lea ecx, [0x7388ac]
jmp 0x510b3a
lea ecx, [0x738868]
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov ebx, dword [ecx]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x5c], ebp
mov esi, dword [esp + 0x48]
mov dword [esp], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 4], esi
mov edx, ecx
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x74]
mov dword [ebp + 0x140], ebx
mov ebx, dword [0x93f150]
test ebx, ebx
jne 0x510b85
mov edx, dword [esp + 0x5c]
jmp 0x510ba5
call fcn.00471860
mov edx, dword [esp + 0x5c]
mov dword [edi], edx
mov ebx, dword [ebp + 0x144]
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ebx, dword [ebp + 0x14c]
mov dword [edi + 0xc], ebx
mov dword [ebp + 0x144], edx
mov dword [ebp + 0x148], eax
mov dword [ebp + 0x14c], ecx
lea eax, [0x714780]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x6d9760]
mov dword [esp + 8], eax
lea eax, [0x738860]
mov dword [esp + 0xc], eax
call fcn.00414620
jmp 0x510f02
mov dword [esp + 0x50], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.004a1310
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x510dbe
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 0x12c]
cmp ebp, 1
jne 0x510c4d
mov ebp, dword [ebx + 0x130]
cmp ebp, 1
jne 0x510c33
lea edx, [0x7388b8]
jmp 0x510c8a
cmp ebp, 2
jne 0x510c40
lea edx, [0x7388bc]
jmp 0x510c8a
cmp ebp, 5
jne 0x510c84
lea edx, [0x7388c0]
jmp 0x510c8a
cmp ebp, 2
je 0x510c57
cmp ebp, 0x17
jne 0x510c84
mov ebp, dword [ebx + 0x130]
cmp ebp, 1
jne 0x510c6a
lea edx, [0x7388b0]
jmp 0x510c8a
cmp ebp, 2
jne 0x510c77
lea edx, [0x7388b4]
jmp 0x510c8a
cmp ebp, 3
jne 0x510c84
lea edx, [0x7388ac]
jmp 0x510c8a
lea edx, [0x73886c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
call eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x12c]
cmp ecx, 1
jne 0x510cd9
mov ecx, dword [eax + 0x130]
cmp ecx, 1
jne 0x510cbf
lea ecx, [0x7388b8]
jmp 0x510d16
cmp ecx, 2
jne 0x510ccc
lea ecx, [0x7388bc]
jmp 0x510d16
cmp ecx, 5
jne 0x510d10
lea ecx, [0x7388c0]
jmp 0x510d16
cmp ecx, 2
je 0x510ce3
cmp ecx, 0x17
jne 0x510d10
mov ecx, dword [eax + 0x130]
cmp ecx, 1
jne 0x510cf6
lea ecx, [0x7388b0]
jmp 0x510d16
cmp ecx, 2
jne 0x510d03
lea ecx, [0x7388b4]
jmp 0x510d16
cmp ecx, 3
jne 0x510d10
lea ecx, [0x7388ac]
jmp 0x510d16
lea ecx, [0x738870]
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ebx, dword [ecx]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 4], esi
mov edx, ecx
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
mov dword [ebp + 0x140], ebx
mov ebx, dword [0x93f150]
test ebx, ebx
jne 0x510d61
mov edx, dword [esp + 0x58]
jmp 0x510d81
call fcn.00471860
mov edx, dword [esp + 0x58]
mov dword [edi], edx
mov ebx, dword [ebp + 0x144]
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ebx, dword [ebp + 0x14c]
mov dword [edi + 0xc], ebx
mov dword [ebp + 0x144], edx
mov dword [ebp + 0x148], eax
mov dword [ebp + 0x14c], ecx
lea eax, [0x714780]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x6d9760]
mov dword [esp + 8], eax
lea eax, [0x738860]
mov dword [esp + 0xc], eax
call fcn.00414620
jmp 0x510f02
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x12c]
cmp ecx, 1
jne 0x510dfa
mov ecx, dword [eax + 0x130]
cmp ecx, 1
jne 0x510de0
lea ecx, [0x7388b8]
jmp 0x510e37
cmp ecx, 2
jne 0x510ded
lea ecx, [0x7388bc]
jmp 0x510e37
cmp ecx, 5
jne 0x510e31
lea ecx, [0x7388c0]
jmp 0x510e37
cmp ecx, 2
je 0x510e04
cmp ecx, 0x17
jne 0x510e31
mov ecx, dword [eax + 0x130]
cmp ecx, 1
jne 0x510e17
lea ecx, [0x7388b0]
jmp 0x510e37
cmp ecx, 2
jne 0x510e24
lea ecx, [0x7388b4]
jmp 0x510e37
cmp ecx, 3
jne 0x510e31
lea ecx, [0x7388ac]
jmp 0x510e37
lea ecx, [0x738874]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x30]
mov dword [esp], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x88]
test ebx, ebx
je 0x510e8a
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
mov eax, dword [ebx + 4]
lea ecx, [0x914ab8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409f00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x140], eax
mov eax, dword [0x93f150]
test eax, eax
jne 0x510ea7
mov eax, dword [esp + 0x8c]
jmp 0x510eca
call fcn.00471860
mov dword [edi], ecx
mov eax, dword [edx + 0x144]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [edi + 8], eax
mov ebp, dword [edx + 0x14c]
mov dword [edi + 0xc], ebp
mov dword [edx + 0x144], ecx
mov dword [edx + 0x148], ebx
mov dword [edx + 0x14c], eax
lea eax, [0x714780]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x6d9760]
mov dword [esp + 8], eax
lea eax, [0x738860]
mov dword [esp + 0xc], eax
call fcn.00414620
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x70
ret
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x70
ret
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], eax
lea ecx, [0x6ed420]
mov dword [esp], ecx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x71b4c8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x510f76
mov ecx, dword [esp + 0x60]
jmp 0x510f81
call fcn.00471830
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x78ac30]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x70
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x70
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x70
ret
mov eax, edi
mov ecx, ebp
call fcn.004718b0
nop
call fcn.00470430
jmp fcn.00510640