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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x51d52f
sub esp, 0x7c
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x51d4f0
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x51cf8e
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
xor ebx, ebx
jmp 0x51cf41
inc ebx
cmp ebx, edx
jge 0x51cf8e
mov ebp, dword [ecx + ebx*4]
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x51cf40
mov eax, dword [0x8948d8]
mov ecx, dword [0x8948dc]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x7c
ret
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x51d4a2
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], ecx
call fcn.0051c7b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x51d46f
mov eax, dword [esp + 0x88]
test eax, eax
jg 0x51d407
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.00518f90
movzx eax, byte [esp + 8]
test al, al
je 0x51d363
lea eax, [0x6380a0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [esp + 0x64], edi
mov eax, dword [0x8a6100]
test eax, eax
jne 0x51d352
mov eax, dword [esp + 0x80]
mov dword [edi], eax
lea eax, [0x630540]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 1
call fcn.00438ea0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov edx, dword [0x8a6100]
test edx, edx
jne 0x51d340
mov edx, dword [esp + 0x64]
mov dword [edi], edx
inc eax
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xb0]
test ebx, ebx
jne 0x51d333
mov edx, dword [0x6e0ae4]
mov dword [esp + 0x50], edx
mov edx, 1
mov ebx, 1
lea ebp, [esp + 0x50]
mov dword [esp + 0x34], ebx
xor esi, esi
jmp 0x51d0e2
inc esi
mov ebx, dword [esp + 0x34]
cmp esi, edx
jge 0x51d11d
mov ebx, dword [ebp + esi*4]
test ebx, ebx
jne 0x51d0dd
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0x7c
ret
test eax, eax
jle 0x51d328
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x60], ebp
xor ecx, ecx
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0x5c], ecx
xor ecx, ecx
jmp 0x51d164
mov esi, eax
mov eax, dword [esp + 0x58]
lea edi, [eax + 0xc]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x34]
mov esi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x44], ecx
mov eax, dword [edi]
mov dword [esp + 0x54], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x3c], ecx
mov edi, dword [edi + 8]
mov dword [esp + 0x40], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.0051e2a0
movzx eax, byte [esp + 0x18]
test al, al
je 0x51d317
mov ecx, dword [esp + 0x48]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
ja 0x51d2dd
mov eax, dword [esp + 0x5c]
lea ecx, [ecx + ecx*2]
mov ebp, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [0x8a6100]
lea edi, [eax + ecx*4]
test ebp, ebp
jne 0x51d2cb
mov ebp, dword [esp + 0x54]
mov dword [eax + ecx*4], ebp
mov ecx, dword [esp + 0x44]
inc ecx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jl 0x51d145
test edx, edx
jne 0x51d29c
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 4
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x6e6000]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x7c
ret
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0x7c
ret
mov ecx, eax
mov eax, dword [esp + 0x54]
call fcn.0044d090
mov eax, ecx
jmp 0x51d1ef
lea eax, [0x630540]
mov dword [esp], eax
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x48]
jmp 0x51d1c4
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x51d1ef
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x51d200
mov esi, edx
mov edx, ebx
mov ebx, ebp
mov ebp, esi
jmp 0x51d0d5
mov edx, eax
mov eax, dword [esp + 0x64]
call fcn.0044d090
mov eax, edx
jmp 0x51d09f
mov eax, dword [esp + 0x80]
call fcn.0044d090
jmp 0x51d043
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x68], eax
mov dword [esp], eax
mov dword [esp + 4], 0
lea ecx, [esp + 0x68]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x84]
mov dword [esp + 0x18], ecx
call fcn.0051d540
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
jne 0x51d3d4
mov edi, eax
mov eax, ecx
mov ecx, edx
jmp 0x51d0a0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0x7c
ret
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0051dfa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x51cfef
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x7c
ret
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x7c
ret
mov dword [esp], eax
lea eax, [esp + 0x84]
mov dword [esp + 4], eax
call fcn.00519c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x7c
ret
mov eax, dword [0x8948d8]
mov ecx, dword [0x8948dc]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x7c
ret
call fcn.0044b940
jmp fcn.0051cf00