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

Disassembly:
mov ecx, dword [0xe11d80]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x551012
sub esp, 0x90
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x550b96
cmp ecx, 1
jne 0x550984
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x9c]
cmp ebx, 2
jl 0x550940
mov ecx, dword [esp + 0x94]
jmp 0x550971
mov dword [esp + 0x70], eax
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 6
call fcn.0044e6e0
mov eax, dword [esp + 0xc]
mov ecx, eax
mov ebx, 6
mov eax, dword [esp + 0x70]
mul eax
nop
nop
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov eax, 2
jmp 0x550fdc
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x5509b6
mov ebx, dword [esp + 0x94]
lea ebp, [ebx + eax*4 - 4]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
lea edi, [esi + edx*4 - 4]
cmp edi, ebp
jne 0x5509cb
xor eax, eax
xor ebx, ebx
jmp 0x5509cb
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x94]
cmp dword [0xcc3988], ecx
jg 0x550abc
mov ebp, dword [0xcc398c]
cmp ecx, ebp
jl 0x5509f1
nop
mov edi, ecx
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov ecx, edi
jmp 0x550c54
mov ebp, ecx
shl ebp, 1
cmp eax, ebp
jl 0x550a04
jae 0x550a80
jmp 0x550c39
cmp ebp, 1
jne 0x550a45
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e6e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov eax, 1
mov ebp, 1
jmp 0x550a80
mov dword [esp + 0x5c], ebp
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 8], eax
call fcn.0044e6e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00550210
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
jmp 0x550c04
mov ebp, ecx
shl ebp, 1
cmp eax, ebp
jl 0x550acf
jae 0x550b4b
jmp 0x550bfa
cmp ebp, 1
jne 0x550b10
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e6e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov eax, 1
mov ebp, 1
jmp 0x550b4b
mov dword [esp + 0x60], ebp
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 8], eax
call fcn.0044e6e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x80], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call fcn.0054eac0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
jmp 0x550bc5
mov eax, dword [esp + 0x94]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xb4], eax
add esp, 0x90
ret
dec ecx
test ecx, ecx
jle 0x550bd1
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x550bc4
mov edx, dword [esp + 0x38]
cmp ecx, edx
ja 0x550bf5
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
add esp, 0x90
ret
call fcn.00469730
mov ecx, ebp
mov edx, eax
call fcn.00469730
dec ecx
test ecx, ecx
jle 0x550c10
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x550c03
mov edx, dword [esp + 0x34]
cmp ecx, edx
ja 0x550c34
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
add esp, 0x90
ret
call fcn.00469730
mov ecx, ebp
mov edx, eax
call fcn.00469730
sar ecx, 1
mov esi, dword [esp + 0x64]
inc esi
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0xa0]
cmp ecx, ebp
jg 0x550c42
mov ebp, ecx
mov ecx, dword [esp + 0x64]
shl ebp, cl
cmp ecx, 0x20
sbb ecx, ecx
and ecx, ebp
cmp edx, ecx
jb 0x550fd6
lea ebp, [ecx + ecx*2]
shl ebp, 1
shl edi, 1
cmp edi, ebp
jl 0x550c7c
mov ebp, edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], edi
cmp ebp, eax
jg 0x550c93
jbe 0x550d17
jmp 0x550fcd
cmp ebp, 1
jne 0x550cd8
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e6e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
mov eax, 1
mov ebp, 1
jmp 0x550d17
mov dword [esp + 0x3c], ebp
lea eax, [0x8da9a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 8], eax
call fcn.0044e6e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x44], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.005504e0
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
cmp edx, ecx
jb 0x550fc8
mov eax, dword [esp + 0x40]
mov ebx, eax
shl ebx, 1
cmp ebx, ecx
ja 0x550fc1
mov dword [esp + 0x74], ebx
mov ebp, ecx
sub ecx, ebx
mov esi, edx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edi, eax
shl eax, 3
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x78]
add eax, esi
test ecx, ecx
je 0x550da4
mov dword [esp], eax
shl ecx, 2
mov dword [esp + 4], ecx
call fcn.00469e50
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0xa4]
cmp eax, edi
jle 0x550f82
mov dword [esp], ebx
call fcn.00551020
mov eax, dword [esp + 4]
test byte [eax], al
nop
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x40]
mov ebx, edx
jmp 0x550dd2
dec edx
test edx, edx
jle 0x550dde
mov ebp, dword [ecx + edx*4 - 4]
test ebp, ebp
je 0x550dd1
mov ebp, dword [esp + 0xa8]
cmp ebp, edx
jb 0x550fb8
mov dword [esp + 0x88], eax
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
sub ebp, ebx
mov dword [esp + 0x50], ebp
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov edx, ebx
shl ebx, 2
sar ebp, 0x1f
and ebx, ebp
add ecx, ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0xa4]
sub ebx, edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], eax
call fcn.0054f940
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x40]
mov dword [esp + 0x18], edi
call fcn.0054f830
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x18], edi
call fcn.0054f830
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.005508f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
call fcn.0054f830
nop
lea eax, [0xdea440]
mov dword [esp], eax
lea eax, [0x9574c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00473800
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
jmp 0x550f85
dec ebp
test ebp, ebp
jle 0x550f91
mov eax, dword [esi + ebp*4 - 4]
test eax, eax
je 0x550f84
cmp ebp, edx
ja 0x550fb1
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], edx
add esp, 0x90
ret
mov ecx, ebp
call fcn.00469730
mov ecx, edx
mov edx, ebp
call fcn.00469730
mov eax, ebx
call fcn.00469750
call fcn.00469730
mov ecx, ebp
mov edx, eax
call fcn.00469730
call fcn.00469730
dec eax
test eax, eax
jle 0x550fe8
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x550fdb
cmp eax, ebx
ja 0x551008
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ebx
add esp, 0x90
ret
mov ecx, eax
mov edx, ebx
call fcn.00469730
nop
call fcn.00468280
jmp fcn.005508f0