Function at 0x5187a0
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 0x519182
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 0x51892e
cmp byte [esp + 0xb8], 0
je 0x51892e
mov ebx, 0x5f7b7b
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], 0x5cd320
call fcn.0040f320
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 [0x6dae38], 0
jne 0x518919
mov dword [eax], ebp
mov edx, 0x6b19b0
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], 0x5d8c80
call fcn.0040f320
mov eax, dword [esp + 4]
mov ebp, 0x5f6ee3
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 [0x6dae38], 0
jne 0x518904
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xc0]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xc4]
cmp byte [0x6dae38], 0
jne 0x5188ef
mov dword [eax + 0x14], ebp
mov ecx, eax
mov eax, 0x6b1c50
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.0040fcf0
mov eax, dword [esp + 0x24]
jmp 0x5188c8
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040fcf0
mov eax, dword [esp + 0x24]
jmp 0x5188ab
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040fcf0
mov eax, dword [esp + 0x28]
jmp 0x518843
mov dword [esp], 0x5e7240
call fcn.0040f320
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
cmp ecx, 1
jne 0x5189a3
mov ebp, dword [esp + 0xb0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ebp, 0x5f672b
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.004535f0
mov ecx, dword [esp + 0xb4]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x5189a3
mov ebx, dword [esp + 0xbc]
mov ebp, 0x5f672b
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.005182b0
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 0x51917b
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6dae38], 0
jne 0x51916a
mov dword [ebx], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x51886c
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.00520230
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x519163
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6dae38], 0
jne 0x519152
mov dword [ebx], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x78]
mov edi, 0x5f6739
mov dword [esp + 0x6c], edi
mov edx, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], edx
cmp eax, edx
jl 0x519144
mov ecx, eax
sub ecx, edx
cmp ecx, eax
ja 0x51914b
mov ebp, eax
sub ebp, ecx
mov eax, esi
cmp ebp, 0
je 0x518ab8
add eax, ecx
mov esi, ebp
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
cmp ebp, edx
jne 0x519144
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.004535f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x519144
mov eax, 1
cmp al, 0
je 0x5190bc
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5f6739
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
call fcn.0051ee90
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x5190bc
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 0x5190b5
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x74]
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f6730
mov dword [esp + 0x84], edi
mov eax, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], eax
cmp edx, eax
jl 0x5190a7
cmp eax, edx
ja 0x5190ae
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x5190a7
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.004535f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x5190a7
mov eax, 1
cmp al, 0
jne 0x518cca
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
je 0x518c37
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0xc], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6dae38], 0
jne 0x518c26
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.0040fcf0
jmp 0x518c0f
cmp byte [esp + 0xb8], 0
je 0x518cca
mov ebx, 0x5fc069
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], 0x5cd320
call fcn.0040f320
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 [0x6dae38], 0
jne 0x518cb8
mov dword [eax], ebp
mov ecx, 0x6b19b0
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 0x51886c
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040fcf0
mov eax, dword [esp + 0x28]
jmp 0x518c8a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
jne 0x518d6d
cmp byte [esp + 0xb8], 0
jne 0x518f0a
mov esi, dword [esp + 0x74]
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f6843
mov dword [esp + 0x7c], edi
mov eax, 3
mov dword [esp + 0x58], edx
mov dword [esp + 0x80], eax
cmp edx, eax
jl 0x519099
cmp eax, edx
ja 0x5190a0
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x519099
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.004535f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x519099
mov eax, 1
cmp al, 0
jne 0x518f0a
mov esi, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f676d
mov dword [esp + 0x8c], edi
mov eax, 2
mov dword [esp + 0x50], edx
mov dword [esp + 0x90], eax
cmp edx, eax
jl 0x51908b
cmp eax, edx
ja 0x519092
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x51908b
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.004535f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x51908b
mov eax, 1
cmp al, 0
je 0x518f0a
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x78]
cmp ebx, 2
jb 0x519084
sub ebx, 2
mov ecx, ebx
mov eax, dword [esp + 0x74]
cmp ebx, 0
je 0x518e20
add eax, 2
mov dword [esp + 0x94], eax
mov dword [esp], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 4], ecx
mov ebx, 0x5f6730
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 0
call fcn.00518490
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.00519190
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 0x51907d
cmp byte [0x6dae38], 0
jne 0x519069
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 [0x6dae38], 0
jne 0x519055
mov dword [ebx + 0x14], ebp
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x51886c
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.00517610
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 0x51904e
mov dword [esp + 0x98], eax
mov dword [ebx + 0x20], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6dae38], 0
jne 0x51903a
mov dword [ebx + 0x1c], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x51886c
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
call fcn.00519b30
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, edi
jne 0x518fef
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.004535f0
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518fef
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.00519d00
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x518fd8
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6dae38], 0
jne 0x519029
mov dword [ebx + 0x24], ebp
jmp 0x518fd8
lea esi, [ebx + 0x24]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040fcf0
jmp 0x518fd8
lea esi, [ebx + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040fcf0
jmp 0x518f75
mov dword [ebx], eax
jmp 0x518f54
lea esi, [ebx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040fcf0
jmp 0x518efa
lea esi, [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040fcf0
jmp 0x518ed2
mov dword [ebx], eax
jmp 0x518ec2
call fcn.00429210
ud2
xor eax, eax
jmp 0x518de9
call fcn.00429210
ud2
xor eax, eax
jmp 0x518d64
call fcn.00429210
ud2
xor eax, eax
jmp 0x518bd9
call fcn.00429210
ud2
call fcn.00429210
ud2
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5f6739
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 1
call fcn.00518490
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 0x519140
mov dword [esp + 0x98], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6dae38], 0
jne 0x51912c
mov dword [ebx + 0x30], ecx
jmp 0x518b5d
lea esi, [ebx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040fcf0
jmp 0x518b5d
mov dword [ebx], eax
jmp 0x51910a
xor eax, eax
jmp 0x518afe
call fcn.00429210
ud2
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040fcf0
jmp 0x518a75
mov dword [ebx], eax
jmp 0x518a55
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040fcf0
jmp 0x518a14
mov dword [ebx], eax
jmp 0x5189f4
call fcn.004518d0
jmp fcn.005187a0