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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5515a8
sub esp, 0x2c
lea eax, [0x58ea60]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00403d60
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
lea ecx, [0x58eda0]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00403d60
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
lea ecx, [0x58ea20]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00403d60
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
lea ecx, [0x5bdfe0]
mov dword [esp], ecx
call fcn.00409bc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x551593
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x55157e
mov ecx, dword [esp + 0x48]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x551535
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x74], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x78], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov dword [esp + 0x18], eax
nop
mov dword [eax + 0x98], 0x80000000
mov edx, dword [ecx + 8]
test edx, edx
seta bl
mov ecx, dword [ecx + 0xc]
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x55138b
mov dword [eax + 0x9c], edx
mov dword [eax + 0xa0], ecx
nop
mov dword [eax + 0xa4], 0x80000000
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 8]
test edx, edx
seta bl
mov ecx, dword [ecx + 0xc]
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x5511e4
mov dword [eax + 0xa8], edx
mov dword [eax + 0xac], ecx
mov ecx, dword [eax + 0x74]
mov dword [esp], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 4], ecx
call fcn.00403f40
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
add esp, 0x2c
ret
mov ecx, dword [eax + 0x94]
test ecx, ecx
je 0x551372
nop
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x1c], edx
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x14], ecx
cmp ecx, 0xa
jge 0x551281
je 0x551251
je 0x55121f
xor ecx, ecx
mov edx, 0x40000000
mov dword [eax + 0xa8], edx
mov dword [eax + 0xac], ecx
jmp 0x5511c5
mov dword [esp], edx
lea eax, [0x5c7624]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x55124b
mov eax, dword [esp + 0x18]
mov ecx, 0x10
xor edx, edx
jmp 0x551211
mov eax, dword [esp + 0x18]
jmp 0x55120a
mov dword [esp], edx
lea eax, [0x5c761a]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x55123e
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x551208
je 0x551324
je 0x5512ed
je 0x5512bc
cmp ecx, 0x16
jne 0x55120a
mov dword [esp], edx
lea eax, [0x5cafa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x55123e
mov eax, dword [esp + 0x18]
jmp 0x55120a
mov dword [esp], edx
lea eax, [0x5c7638]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x55123e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
jmp 0x55128b
mov dword [esp], edx
lea eax, [0x5c762e]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x55123e
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x551289
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x5c7624]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xa
call fcn.004023a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x55135e
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x551206
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x551287
mov dword [eax + 0xa8], 0x40000000
mov dword [eax + 0xac], 0
jmp 0x5511c5
mov ecx, dword [eax + 0x94]
test ecx, ecx
je 0x55151c
nop
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x1c], edx
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x14], ecx
cmp ecx, 0xa
jge 0x55142b
je 0x5513fb
je 0x5513c9
mov ecx, 0x40000000
xor edx, edx
mov dword [eax + 0x9c], ecx
mov dword [eax + 0xa0], edx
jmp 0x551186
mov dword [esp], edx
lea eax, [0x5c7624]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5513f5
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov edx, 0x10
jmp 0x5513b8
mov eax, dword [esp + 0x18]
jmp 0x5513b1
mov dword [esp], edx
lea eax, [0x5c761a]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5513e8
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x5513af
je 0x5514ce
je 0x551497
je 0x551466
cmp ecx, 0x16
jne 0x5513b1
mov dword [esp], edx
lea eax, [0x5cafa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5513e8
mov eax, dword [esp + 0x18]
jmp 0x5513b1
mov dword [esp], edx
lea eax, [0x5c7638]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5513e8
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
jmp 0x551435
mov dword [esp], edx
lea eax, [0x5c762e]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004024f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5513e8
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x551433
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x5c7624]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xa
call fcn.004023a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x551508
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x5513ad
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x551431
mov dword [eax + 0x9c], 0x40000000
mov dword [eax + 0xa0], 0
jmp 0x551186
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x3c]
call fcn.0044cea0
lea edi, [ecx + 0x3c]
mov eax, dword [esp + 0x28]
call fcn.0044cea0
lea edi, [ecx + 0x74]
mov eax, dword [esp + 0x24]
call fcn.0044cea0
lea edi, [ecx + 0x78]
mov eax, dword [esp + 0x20]
call fcn.0044cea0
lea edi, [ecx + 8]
mov eax, dword [esp + 0x38]
call fcn.0044cea0
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x551142
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x48]
call fcn.0044cea0
mov eax, ecx
jmp 0x551103
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x34]
call fcn.0044cea0
mov eax, ecx
jmp 0x5510e0
call fcn.0044b750
jmp fcn.00551040