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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x5527e9
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x552767
mov edx, dword [eax + 8]
test edx, edx
je 0x5526e5
mov edx, dword [eax + 0x68]
test edx, edx
jne 0x552663
mov edx, dword [esp + 0x3c]
mov ebx, dword [edx + 0x1c]
test ebx, ebx
je 0x5525d0
mov edx, dword [esp + 0x3c]
mov ebx, dword [edx + 8]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
jne 0x55242f
lea edi, [esp + 0x98]
lea esi, [esp + 0xd0]
call fcn.0044c30e
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x552418
mov ecx, edx
shr edx, 0x1f
shl ebx, 1
or ebx, edx
mov edx, ebx
shl ebx, 1
mov ebp, ecx
shl ecx, 1
shr ecx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
test edx, edx
sete dl
test ecx, ecx
sete cl
and ecx, edx
test cl, cl
je 0x552411
test ebp, 0x3fffffff
sete cl
test cl, cl
je 0x5523b2
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 8], ecx
lea edi, [esp + 0xc]
lea esi, [esp + 0xd0]
call fcn.0044c30e
call fcn.00552800
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0xc8]
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x552222
lea edi, [esp + 0xac]
lea esi, [esp + 0xd0]
call fcn.0044c30e
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov ebx, edx
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x55220d
shl ebx, 1
mov edx, ecx
shr ecx, 0x1f
or ecx, ebx
mov ebx, edx
shl edx, 1
shr edx, 0x1f
mov ebp, ecx
shl ecx, 1
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
shr ebp, 0x1f
add ecx, 0xd7b17f80
adc ebp, 0xd
test edx, edx
sete cl
test ebp, ebp
sete dl
and edx, ecx
test dl, dl
je 0x552206
test ebx, 0x3fffffff
sete cl
test cl, cl
je 0x552134
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
add esp, 0xc0
ret
lea eax, [0x5cc180]
mov dword [esp], eax
call fcn.0040dcf0
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x5521ed
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x20]
mov dword [eax + 4], ebx
mov ebx, dword [0x71de50]
lea ebp, [ecx + 0x24]
lea esi, [eax + 8]
lea edi, [eax + 0xc]
test ebx, ebx
jne 0x5521b7
mov dword [eax + 8], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 0xc], edx
lea edx, [0x61f260]
mov dword [ecx + 0x20], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x5521a5
mov dword [ecx + 0x24], eax
mov eax, ecx
jmp 0x552105
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0040e560
mov ecx, dword [esp + 0x60]
jmp 0x55219e
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], edi
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.0040e560
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
jmp 0x552188
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
call fcn.0040e560
mov eax, dword [esp + 0x5c]
jmp 0x55215e
xor ecx, ecx
jmp 0x552101
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov ebx, ecx
jmp 0x5520e4
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x55237f
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea eax, [0x61e660]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jne 0x552354
lea edi, [esp + 0x78]
mov esi, dword [esp + 0x50]
call fcn.0044c318
lea edi, [esp + 0x88]
lea esi, [esp + 0x78]
call fcn.0044c318
lea edi, [esp + 0x68]
lea esi, [esp + 0x88]
call fcn.0044c318
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jne 0x55234e
lea eax, [esp + 0x70]
test byte [eax], al
mov eax, dword [esp + 0x70]
cmp eax, 0x50545448
jne 0x5522d0
movzx eax, byte [esp + 0x74]
cmp al, 0x2f
je 0x5522ff
mov eax, dword [esp + 0x50]
mov dword [esp + 0xe4], 0
mov edx, dword [esp + 0x64]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
add esp, 0xc0
ret
lea eax, [0x5bf3e0]
mov dword [esp], eax
call fcn.0040dcf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2f
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x552332
lea ecx, [0x5fa8c2]
mov dword [eax], ecx
lea ecx, [0x61e120]
jmp 0x5522d4
mov dword [esp + 0x48], eax
mov dword [esp], eax
lea ecx, [0x5fa8c2]
mov dword [esp + 4], ecx
call fcn.0040e560
mov eax, dword [esp + 0x48]
jmp 0x55232a
mov eax, dword [esp + 0x50]
jmp 0x5522d4
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
jmp 0x552289
lea eax, [0x5fc6d2]
mov dword [esp], eax
mov dword [esp + 4], 0x3b
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.00531ca0
jmp 0x55223e
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jne 0x552011
lea eax, [0x5e4060]
mov dword [esp], eax
call fcn.0040dcf0
mov edi, dword [esp + 4]
mov dword [esp + 0x3c], edi
mov eax, dword [0x71de50]
test eax, eax
jne 0x5523ef
mov esi, dword [esp + 0xc4]
call fcn.0044c200
jmp 0x552011
lea eax, [0x5e4060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.0040e670
jmp 0x552011
xor ecx, ecx
jmp 0x552009
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov ebp, edx
mov edx, ebx
jmp 0x551fec
mov dword [esp + 0x30], ebx
mov eax, dword [edx + 0x1c]
mov dword [esp], eax
lea eax, [0x5f02f6]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call fcn.00569f10
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5525bd
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [esp + 0x34], edx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x28], ebx
mov ebp, dword [ecx + 8]
mov dword [esp + 0x40], ebp
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0xc4]
cmp eax, esi
je 0x552566
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call fcn.0056abb0
mov eax, dword [esp + 0x3c]
test byte [eax], al
mov ecx, dword [0x71de50]
lea edx, [eax + 0x1c]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x552555
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.00552b40
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp], 0
lea ebx, [0x5eea57]
mov dword [esp + 4], ebx
mov dword [esp + 8], 6
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0043b750
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
lea eax, [0x5f02f6]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call fcn.00569ec0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
jmp 0x551f91
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040e560
jmp 0x5524b7
lea eax, [0x5e4060]
mov dword [esp], eax
call fcn.0040dcf0
mov edi, dword [esp + 4]
mov dword [esp + 0x3c], edi
mov eax, dword [0x71de50]
test eax, eax
jne 0x55259e
mov esi, dword [esp + 0xc4]
call fcn.0044c200
mov esi, dword [esp + 0xc4]
jmp 0x55248e
lea eax, [0x5e4060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.0040e670
jmp 0x552592
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
jmp 0x551f91
cmp eax, edx
je 0x552613
call fcn.00405d10
mov eax, dword [esp + 0x3c]
test byte [eax], al
mov ecx, dword [0x71de50]
lea edx, [eax + 0x1c]
mov ebx, dword [esp]
test ecx, ecx
jne 0x552605
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
jmp 0x551f7f
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040e560
jmp 0x5525f2
lea eax, [0x5e4060]
mov dword [esp], eax
call fcn.0040dcf0
mov edi, dword [esp + 4]
mov dword [esp + 0x3c], edi
mov eax, dword [0x71de50]
test eax, eax
jne 0x552641
mov esi, dword [esp + 0xc4]
call fcn.0044c200
jmp 0x5525d4
lea eax, [0x5e4060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.0040e670
jmp 0x5525d4
mov dword [esp], eax
call fcn.0056cd50
lea eax, [0x5bf3e0]
mov dword [esp], eax
call fcn.0040dcf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x39
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x5526c9
lea ecx, [0x5fc4cf]
mov dword [eax], ecx
mov dword [esp + 0xe4], 0
lea ecx, [0x60176c]
mov dword [esp + 0xe8], ecx
lea ecx, [0x61e120]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
add esp, 0xc0
ret
mov dword [esp + 0x48], eax
mov dword [esp], eax
lea ecx, [0x5fc4cf]
mov dword [esp + 4], ecx
call fcn.0040e560
mov eax, dword [esp + 0x48]
jmp 0x552696
mov dword [esp], eax
call fcn.0056cd50
lea eax, [0x5bf3e0]
mov dword [esp], eax
call fcn.0040dcf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x15
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x55274b
lea ecx, [0x5f2f6a]
mov dword [eax], ecx
mov dword [esp + 0xe4], 0
lea ecx, [0x60176c]
mov dword [esp + 0xe8], ecx
lea ecx, [0x61e120]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
add esp, 0xc0
ret
mov dword [esp + 0x48], eax
mov dword [esp], eax
lea ecx, [0x5f2f6a]
mov dword [esp + 4], ecx
call fcn.0040e560
mov eax, dword [esp + 0x48]
jmp 0x552718
mov dword [esp], eax
call fcn.0056cd50
lea eax, [0x5bf3e0]
mov dword [esp], eax
call fcn.0040dcf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2d
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x5527cd
lea ecx, [0x5fa24f]
mov dword [eax], ecx
mov dword [esp + 0xe4], 0
lea ecx, [0x60176c]
mov dword [esp + 0xe8], ecx
lea ecx, [0x61e120]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
add esp, 0xc0
ret
mov dword [esp + 0x48], eax
mov dword [esp], eax
lea ecx, [0x5fa24f]
mov dword [esp + 4], ecx
call fcn.0040e560
mov eax, dword [esp + 0x48]
jmp 0x55279a
call fcn.0044a3c0
jmp fcn.00551f20