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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x518712
sub esp, 0xac
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0xb4]
cmp ebx, 0
jne 0x517ebe
cmp byte [esp + 0xb8], 0
je 0x517ebe
mov ebx, 0x5f6bdb
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 9
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp], 0x5cc500
call fcn.0040e920
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x40]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x3c]
cmp byte [0x6d9e18], 0
jne 0x517ea9
mov dword [eax], ebp
mov edx, 0x6b09b0
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0xc4], eax
mov dword [esp], 0x5d7e60
call fcn.0040e920
mov eax, dword [esp + 4]
mov ebp, 0x5f5f43
mov dword [eax], ebp
mov dword [eax + 4], 5
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0xb4]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xb0]
cmp byte [0x6d9e18], 0
jne 0x517e94
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xc0]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xc4]
cmp byte [0x6d9e18], 0
jne 0x517e7f
mov dword [eax + 0x14], ebp
mov ecx, eax
mov eax, 0x6b0c50
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0xac
ret
lea esi, [eax + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x24]
jmp 0x517e58
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x24]
jmp 0x517e3b
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x28]
jmp 0x517dd3
mov dword [esp], 0x5e6360
call fcn.0040e920
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
cmp ecx, 1
jne 0x517f33
mov ebp, dword [esp + 0xb0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ebp, 0x5f578b
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.00452bf0
mov ecx, dword [esp + 0xb4]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x517f33
mov ebx, dword [esp + 0xbc]
mov ebp, 0x5f578b
mov dword [ebx + 0x1c], ebp
mov dword [ebx + 0x20], 1
add esp, 0xac
ret
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00517840
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x51870b
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e18], 0
jne 0x5186fa
mov dword [ebx], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x517dfc
mov ebx, dword [esp + 0xbc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.0051f7c0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x5186f3
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e18], 0
jne 0x5186e2
mov dword [ebx], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x78]
mov edi, 0x5f5799
mov dword [esp + 0x6c], edi
mov edx, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], edx
cmp eax, edx
jl 0x5186d4
mov ecx, eax
sub ecx, edx
cmp ecx, eax
ja 0x5186db
mov ebp, eax
sub ebp, ecx
mov eax, esi
cmp ebp, 0
je 0x518048
add eax, ecx
mov esi, ebp
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
cmp ebp, edx
jne 0x5186d4
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.00452bf0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x5186d4
mov eax, 1
cmp al, 0
je 0x51864c
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5f5799
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
call fcn.0051e420
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x51864c
mov eax, 1
mov ebx, dword [esp + 0xbc]
mov byte [ebx + 0x2c], al
mov eax, dword [esp + 0x78]
dec eax
mov ebx, dword [esp + 0x78]
cmp eax, ebx
ja 0x518645
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x74]
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f5790
mov dword [esp + 0x84], edi
mov eax, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], eax
cmp edx, eax
jl 0x518637
cmp eax, edx
ja 0x51863e
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x518637
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00452bf0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518637
mov eax, 1
cmp al, 0
jne 0x51825a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
je 0x5181c7
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0xc], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6d9e18], 0
jne 0x5181b6
mov dword [ebx + 8], ebp
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
add esp, 0xac
ret
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x51819f
cmp byte [esp + 0xb8], 0
je 0x51825a
mov ebx, 0x5fb0ca
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0x17
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp], 0x5cc500
call fcn.0040e920
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x48]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x44]
cmp byte [0x6d9e18], 0
jne 0x518248
mov dword [eax], ebp
mov ecx, 0x6b09b0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc4], eax
jmp 0x517dfc
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x28]
jmp 0x51821a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
jne 0x5182fd
cmp byte [esp + 0xb8], 0
jne 0x51849a
mov esi, dword [esp + 0x74]
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f58a3
mov dword [esp + 0x7c], edi
mov eax, 3
mov dword [esp + 0x58], edx
mov dword [esp + 0x80], eax
cmp edx, eax
jl 0x518629
cmp eax, edx
ja 0x518630
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x518629
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00452bf0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518629
mov eax, 1
cmp al, 0
jne 0x51849a
mov esi, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f57cd
mov dword [esp + 0x8c], edi
mov eax, 2
mov dword [esp + 0x50], edx
mov dword [esp + 0x90], eax
cmp edx, eax
jl 0x51861b
cmp eax, edx
ja 0x518622
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x51861b
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00452bf0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x51861b
mov eax, 1
cmp al, 0
je 0x51849a
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x78]
cmp ebx, 2
jb 0x518614
sub ebx, 2
mov ecx, ebx
mov eax, dword [esp + 0x74]
cmp ebx, 0
je 0x5183b0
add eax, 2
mov dword [esp + 0x94], eax
mov dword [esp], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 4], ecx
mov ebx, 0x5f5790
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 0
call fcn.00517a20
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x78], ebx
mov dword [esp + 0xa4], ecx
mov dword [esp], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 4], eax
call fcn.00518720
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x51860d
cmp byte [0x6d9e18], 0
jne 0x5185f9
mov dword [ebx + 0x10], eax
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x98]
mov dword [ebx + 0x18], ebp
mov ebp, dword [esp + 0x94]
cmp byte [0x6d9e18], 0
jne 0x5185e5
mov dword [ebx + 0x14], ebp
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x517dfc
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 8], 1
call fcn.00516ba0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x5185de
mov dword [esp + 0x98], eax
mov dword [ebx + 0x20], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e18], 0
jne 0x5185ca
mov dword [ebx + 0x1c], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x517dfc
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
call fcn.005190c0
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, edi
jne 0x51857f
mov dword [esp + 0x94], esi
mov dword [esp], esi
mov dword [esp + 0x98], edx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.00452bf0
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x51857f
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
add esp, 0xac
ret
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.00519290
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x518568
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6d9e18], 0
jne 0x5185b9
mov dword [ebx + 0x24], ebp
jmp 0x518568
lea esi, [ebx + 0x24]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x518568
lea esi, [ebx + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040f2f0
jmp 0x518505
mov dword [ebx], eax
jmp 0x5184e4
lea esi, [ebx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x51848a
lea esi, [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f2f0
jmp 0x518462
mov dword [ebx], eax
jmp 0x518452
call fcn.00428810
ud2
xor eax, eax
jmp 0x518379
call fcn.00428810
ud2
xor eax, eax
jmp 0x5182f4
call fcn.00428810
ud2
xor eax, eax
jmp 0x518169
call fcn.00428810
ud2
call fcn.00428810
ud2
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5f5799
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 1
call fcn.00517a20
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x78], ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x5186d0
mov dword [esp + 0x98], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e18], 0
jne 0x5186bc
mov dword [ebx + 0x30], ecx
jmp 0x5180ed
lea esi, [ebx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040f2f0
jmp 0x5180ed
mov dword [ebx], eax
jmp 0x51869a
xor eax, eax
jmp 0x51808e
call fcn.00428810
ud2
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040f2f0
jmp 0x518005
mov dword [ebx], eax
jmp 0x517fe5
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040f2f0
jmp 0x517fa4
mov dword [ebx], eax
jmp 0x517f84
call fcn.00450ed0
jmp fcn.00517d30