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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xac]
cmp eax, dword [ecx + 8]
jbe 0x5529cc
sub esp, 0x12c
mov eax, dword [esp + 0x134]
movzx ecx, byte [eax]
cmp cl, 4
ja 0x5522f0
cmp cl, 1
ja 0x552095
test cl, cl
jne 0x551f9f
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 8]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045e1f8
lea eax, [0x5ec059]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 7
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x118], eax
lea eax, [0x5eb2fb]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 2
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005519f0
add esp, 0x12c
ret
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 8]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045e1f8
lea eax, [0x5ed80d]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 0xc
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x118], eax
lea eax, [0x5eb2fb]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 2
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005519f0
jmp 0x551f98
cmp cl, 2
je 0x5521fa
cmp cl, 3
jne 0x55219d
mov ecx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 4]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045e1f8
lea eax, [0x5ebcd5]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 6
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x118], eax
lea eax, [0x5eb5c7]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 4
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005519f0
jmp 0x551f98
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x5eba4a]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 5
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005519f0
jmp 0x551f98
mov ecx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 4]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045e1f8
lea eax, [0x5eb74b]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 4
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x118], eax
lea eax, [0x5eb5c7]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 4
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005519f0
jmp 0x551f98
cmp cl, 7
ja 0x5526d8
cmp cl, 5
je 0x55267b
cmp cl, 6
je 0x5525d7
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x552573
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
lea ebp, [esp + 0xb8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004488d0
nop
mov eax, dword [esp + 0x10]
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
lea edx, [0x5bec80]
mov dword [esp], edx
mov dword [esp + 4], 0
lea edx, [ecx + ecx*2]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
sar edx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
call fcn.00444f30
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x122
mov byte [esp + 0x16], 0
call fcn.00474ab0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x98]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00448580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5eba7c]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 5
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea ecx, [esp + 0xfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.005519f0
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 8]
test cx, 1
jne 0x55250f
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5eb5c7]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 4
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.005519f0
jmp 0x551f98
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x5eb305]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 2
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea ecx, [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005519f0
mov eax, dword [esp + 0x134]
jmp 0x55246b
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x5ecde1]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 0xa
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea ecx, [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005519f0
mov eax, dword [esp + 0x134]
jmp 0x552316
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5ec0e5]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 7
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.005519f0
jmp 0x551f98
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x5eb783]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 4
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.005519f0
jmp 0x551f98
cmp cl, 8
je 0x55283b
cmp cl, 9
je 0x552797
cmp cl, 0xa
jne 0x551f98
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5ed819]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 0xc
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.005519f0
jmp 0x551f98
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5ec060]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 7
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.005519f0
jmp 0x551f98
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
lea ebp, [esp + 0x78]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004488d0
nop
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
lea edx, [0x5bec80]
mov dword [esp], edx
mov dword [esp + 4], 0
lea edx, [ecx + ecx*2]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
sar edx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
call fcn.00444f30
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x122
mov byte [esp + 0x16], 0
call fcn.00474ab0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00448580
mov eax, dword [esp + 0xc]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 4]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00473d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045e1f8
lea eax, [0x5ebd35]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 6
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x118], eax
lea eax, [0x5eb5c7]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 4
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005519f0
jmp 0x551f98
call fcn.0045ca10
jmp fcn.00551e60