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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xec]
cmp eax, dword [ecx + 8]
jbe 0x552806
sub esp, 0x16c
mov ecx, dword [esp + 0x178]
cmp ecx, 2
jl 0x552750
xor eax, eax
mov edx, eax
xor ebx, ebx
mov ebp, edx
mov esi, ebp
xor edi, edi
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x174]
mov dword [esp + 0x168], eax
mov eax, ebp
jmp 0x55126a
lea ecx, [edx + 1]
mov edx, dword [esp + 0x164]
movzx edx, word [esp + 0x22]
movzx ebx, word [esp + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x34]
cmp edx, esi
jge 0x551235
cmp edx, ebp
jge 0x551235
cmp edx, esi
jae 0x5527f8
mov ebx, dword [edi + edx*4]
cmp edx, ebp
jae 0x5527f8
mov ecx, dword [ecx + edx*4]
cmp ebx, ecx
je 0x5511f0
test edx, edx
jle 0x551307
mov ecx, dword [esp + 0x30]
cmp edx, ecx
ja 0x5527f1
mov ebx, dword [esp + 0x4c]
movzx ebp, word [esp + 0x24]
mov esi, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], esi
mov esi, edx
mov edx, ebx
mov ebx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x178]
cmp eax, ecx
jg 0x5519fb
mov dword [esp + 0x5c], eax
mov word [esp + 0x24], bx
mov dword [esp + 0x4c], edx
jge 0x5519ee
jae 0x5527ff
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x174]
mov ebp, dword [ebp + eax*4]
movzx ecx, byte [ebp]
cmp cl, 0x12
jne 0x5519e7
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
test ecx, ecx
jle 0x5519e7
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
je 0x5519be
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov dword [esp + 0xd0], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x164], ecx
mov word [esp + 0x22], dx
cmp dx, bx
jne 0x551307
mov dword [esp + 0xc8], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
jmp 0x55120f
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x164]
movzx ebx, word [esp + 0x22]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x4c]
cmp eax, esi
jne 0x55133e
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], esi
mov esi, edi
mov edi, edx
mov edx, ebp
mov ebp, ebx
mov ebx, eax
jmp 0x551256
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x160], edx
mov word [esp + 0x26], bx
lea ecx, [esi + 1]
cmp eax, ecx
jne 0x551489
mov ecx, dword [esp + 0x178]
cmp esi, ecx
jae 0x5527ea
mov edi, ecx
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x174]
mov esi, dword [ebx + esi*4]
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
jg 0x551428
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], edx
mov ebp, dword [esp + 0x104]
lea edx, [ebp + ecx*4]
mov dword [esp + 0x15c], edx
mov edx, dword [0xcc2260]
test edx, edx
jne 0x5513f3
mov dword [ebp + ecx*4], esi
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x160]
mov esi, ecx
mov edi, ebx
mov dword [esp + 0x168], ebp
mov ecx, dword [esp + 0x54]
movzx ebx, word [esp + 0x26]
mov ebp, dword [esp + 0x50]
jmp 0x55132b
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040f360
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x104]
mov edi, dword [esp + 0x178]
jmp 0x5513cb
mov dword [esp + 0x158], esi
lea eax, [0x816460]
mov dword [esp], eax
mov ebp, dword [esp + 0x168]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043a030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x178]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x5c]
jmp 0x5513a7
mov dword [esp + 0x154], edi
mov ecx, dword [esp + 0x170]
mov edx, dword [ecx + 0x10]
lea ebx, [ecx + 0x10]
mov dword [esp + 0x150], ebx
test edx, edx
je 0x551993
mov ebp, dword [0xcc2260]
mov esi, dword [edx + 0x10]
test ebp, ebp
jne 0x551947
mov dword [ecx + 0x10], esi
mov ebp, edi
mov edi, edx
mov esi, eax
xor eax, eax
call fcn.0044dd61
mov dword [esp + 0xfc], edx
mov byte [edx], 3
movzx ecx, word [esp + 0x24]
mov word [edx + 2], cx
mov ecx, dword [edx + 0x1c]
mov edi, dword [edx + 0x14]
lea ebx, [edx + 0x14]
mov dword [esp + 0x14c], ebx
mov eax, dword [esp + 0x2c]
cmp eax, ecx
ja 0x5518fb
cmp eax, ecx
ja 0x5527e3
mov dword [esp + 0x164], edi
mov dword [esp + 0xa8], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
shl eax, 2
mov dword [esp + 8], eax
call fcn.0044e470
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xfc]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0xa8]
mov dword [ecx + 0x1c], edx
mov edx, dword [0xcc2260]
test edx, edx
jne 0x5518d1
mov edx, dword [esp + 0x164]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x4c]
jmp 0x551567
inc edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
jge 0x5515e9
mov ebp, dword [esp + 0x178]
cmp edx, ebp
jae 0x5527dc
mov dword [esp + 0xa8], edx
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + edx*4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00552810
mov eax, dword [0xcc2260]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x174]
lea ebp, [ebx + edx*4]
test eax, eax
jne 0x5515ca
mov dword [ebx + edx*4], ecx
jmp 0x55155b
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040f360
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x174]
jmp 0x55155b
mov eax, dword [esp + 0x4c]
cmp eax, ebx
ja 0x5527d5
mov edx, dword [esp + 0x17c]
cmp ebx, edx
ja 0x5527d5
mov ecx, dword [esp + 0x170]
mov dword [esp], ecx
sub edx, eax
mov esi, edx
neg edx
mov edi, eax
shl eax, 2
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x174]
add edx, eax
mov dword [esp + 4], edx
sub ebx, edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov byte [esp + 0x10], 0x13
call fcn.00550d50
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x170]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x5518b1
mov dword [esp + 0xe4], edi
mov edx, dword [0xcc2260]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x551877
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044dd61
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xf4], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
lea esi, [ecx + 4]
mov dword [esp + 0x148], esi
cmp ebp, 2
jl 0x551826
mov edi, 2
mov dword [esp + 0xa8], ebp
mov esi, dword [0xcc2260]
lea ebp, [ebx + 4]
test esi, esi
jne 0x5517c8
mov ebp, dword [esp + 0xfc]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ecx + 8], edi
mov edx, dword [esp + 0xa8]
mov dword [ecx + 0xc], edx
mov edx, dword [0xcc2260]
test edx, edx
jne 0x5517a7
mov dword [ecx + 4], ebx
mov edx, dword [esp + 0x38]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jg 0x551761
mov esi, dword [esp + 0x168]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0xcc2260]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x551735
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x3c]
mov ebp, esi
mov ecx, edi
mov edi, dword [esp + 0x178]
jmp 0x5513cf
mov dword [esp + 0x144], esi
mov dword [esp + 0xa8], edi
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040f360
xor eax, eax
mov esi, dword [esp + 0x144]
mov edi, dword [esp + 0xa8]
jmp 0x55171d
lea eax, [0x816460]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043a030
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x38]
jmp 0x551707
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0040f360
xor eax, eax
mov ecx, dword [esp + 0xf4]
jmp 0x5516f1
mov dword [esp + 0x140], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0x13c], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
call fcn.0040f360
xor eax, eax
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0xa4]
jmp 0x5516d3
lea eax, [0x816460]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.0043a030
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x148]
jmp 0x5516af
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0040f360
lea eax, [0x823060]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
call fcn.0040f870
xor eax, eax
mov edx, dword [esp + 0xe0]
jmp 0x551680
lea eax, [0x823060]
mov dword [esp], eax
call fcn.0040eaf0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xe0]
jmp 0x551687
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xfc]
jmp 0x551555
lea edx, [0x7cf5e0]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043a030
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x5c]
jmp 0x5514fc
mov dword [esp + 0xec], edx
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.0040f360
lea eax, [0x823060]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
call fcn.0040f870
xor eax, eax
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x150]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x5c]
jmp 0x5514cd
lea eax, [0x823060]
mov dword [esp], eax
call fcn.0040eaf0
mov edx, dword [esp + 4]
xor eax, eax
mov ebx, dword [esp + 0x150]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x5c]
jmp 0x5514cd
mov edx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
movzx ecx, word [ecx + 2]
and ecx, 1
mov dword [esp + 0x28], ebp
mov ebp, eax
mov eax, dword [esp + 0x5c]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x5c]
jmp 0x5512dd
mov ecx, ebp
jmp 0x5512b7
xor ecx, ecx
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp 0x551317
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0x168]
mov esi, dword [esp + 0x3c]
jmp 0x551a1d
lea edi, [esi + 1]
mov esi, edx
mov edx, ebp
mov ebp, ecx
mov ecx, eax
mov eax, edi
mov dword [esp + 0xac], ebx
mov dword [esp + 0x164], ebp
mov edi, dword [esp + 0x38]
cmp eax, edi
jg 0x5520b6
mov dword [esp + 0x60], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0x100], edx
mov dword [esp + 0x48], ecx
jge 0x5520af
jae 0x5527ce
mov ebp, dword [esp + 0x168]
mov esi, dword [ebp + eax*4]
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x552068
xor ebp, ebp
test edx, edx
jne 0x551f43
cmp eax, ecx
jne 0x551a95
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0xa0]
mov esi, eax
jmp 0x551a10
mov dword [esp + 0x108], ebp
lea esi, [ecx + 1]
cmp eax, esi
jne 0x551bbb
cmp ecx, edi
jae 0x5527c0
lea edx, [ebx + 1]
mov esi, dword [esp + 0x168]
mov ecx, dword [esi + ecx*4]
mov esi, dword [esp + 0xa0]
cmp edx, esi
jg 0x551b57
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0x104]
lea eax, [edi + ebx*4]
mov dword [esp + 0x138], eax
mov eax, dword [0xcc2260]
test eax, eax
jne 0x551b18
mov dword [edi + ebx*4], ecx
mov eax, dword [esp + 0x60]
mov ecx, edi
mov ebx, edx
mov edi, dword [esp + 0x38]
mov edx, esi
jmp 0x551a8e
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040f360
mov edx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x104]
jmp 0x551b05
mov dword [esp + 0x158], ecx
lea eax, [0x816460]
mov dword [esp], eax
mov ecx, dword [esp + 0x164]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.0043a030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x158]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x60]
jmp 0x551ae7
mov esi, ecx
jmp 0x551be3
lea ecx, [edx + 1]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
cmp ecx, eax
jge 0x551c62
cmp ecx, edi
jae 0x5527b9
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x168]
mov edx, dword [eax + ecx*4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x170]
mov dword [esp], edx
cmp ecx, esi
setne bl
mov byte [esp + 8], bl
call fcn.00552a80
mov eax, dword [0xcc2260]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x168]
lea ebp, [ebx + edx*4]
test eax, eax
jne 0x551c43
mov dword [ebx + edx*4], ecx
jmp 0x551bbf
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040f360
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x168]
jmp 0x551bbf
cmp esi, eax
ja 0x5527b2
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
ja 0x5527b2
mov edx, dword [esp + 0x170]
mov dword [esp], edx
sub ecx, esi
mov ebp, esi
shl esi, 2
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
mov esi, dword [esp + 0x168]
add ecx, esi
mov dword [esp + 4], ecx
sub eax, ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov byte [esp + 0x10], 0x13
call fcn.00550d50
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x170]
mov edi, dword [ecx + 0x10]
lea edx, [ecx + 0x10]
test edi, edi
je 0x551f23
mov dword [esp + 0xe8], edi
mov ebx, dword [0xcc2260]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x551ef0
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.0044dd61
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xf8], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
lea esi, [ecx + 4]
mov dword [esp + 0x134], esi
cmp ebx, 2
jl 0x551e9f
mov edi, 2
mov eax, dword [0xcc2260]
lea esi, [ebp + 4]
test eax, eax
jne 0x551e35
mov eax, dword [esp + 0x100]
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], ebx
mov eax, dword [0xcc2260]
test eax, eax
jne 0x551e16
mov dword [ecx + 4], ebp
mov eax, dword [esp + 0xac]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xa0]
cmp edx, ebx
jg 0x551dcf
mov ebp, dword [esp + 0x164]
mov esi, dword [0xcc2260]
lea edi, [ebp + eax*4]
test esi, esi
jne 0x551d97
mov dword [ebp + eax*4], ecx
mov esi, ebx
mov edi, ebp
mov ebp, dword [esp + 0x108]
jmp 0x551b05
mov dword [esp + 0x130], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0040f360
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x130]
jmp 0x551d87
lea ecx, [0x816460]
mov dword [esp], ecx
mov ebp, dword [esp + 0x164]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043a030
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xf8]
jmp 0x551d75
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f360
mov ecx, dword [esp + 0xf8]
jmp 0x551d59
mov dword [esp + 0x12c], ebp
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x128], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
call fcn.0040f360
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x12c]
mov edi, dword [esp + 0xa8]
jmp 0x551d42
lea eax, [0x816460]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.0043a030
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0x134]
jmp 0x551d24
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040f360
lea eax, [0x823060]
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.0040f870
xor eax, eax
mov edx, dword [esp + 0xdc]
jmp 0x551cf5
lea eax, [0x823060]
mov dword [esp], eax
call fcn.0040eaf0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xdc]
jmp 0x551cfc
mov dword [esp + 0xd8], ebp
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.00559310
movzx eax, byte [esp + 8]
test al, al
je 0x55205f
mov eax, dword [esp + 0x100]
movzx ecx, byte [eax]
cmp cl, 3
jne 0x552036
mov edx, dword [eax + 0x18]
cmp edx, 1
jne 0x552036
mov edx, 1
test dl, dl
je 0x551fb8
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x100]
mov ebx, dword [esp + 0xac]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0xa0]
jmp 0x551a10
cmp cl, 0x11
jne 0x551ff0
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
cmp ecx, edx
jne 0x551ff0
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
test ecx, ecx
jbe 0x5527c7
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x552016
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x552016
mov ecx, 1
test cl, cl
jne 0x551f8b
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xd8]
mov edi, dword [esp + 0x38]
jmp 0x551a7c
cmp dl, 4
jne 0x552022
mov ecx, 1
jmp 0x551fec
cmp dl, 5
jne 0x55202e
mov ecx, 1
jmp 0x551fec
cmp dl, 6
sete cl
jmp 0x551fec
cmp cl, 4
jne 0x552045
mov edx, 1
jmp 0x551f87
cmp cl, 5
jne 0x552054
mov edx, 1
jmp 0x551f87
cmp cl, 6
sete dl
jmp 0x551f87
mov eax, dword [esp + 0x100]
jmp 0x551ff0
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x5520a1
mov ebp, dword [esi + 8]
mov ebx, dword [esi + 4]
test ebp, ebp
jle 0x5520a1
mov ebx, dword [ebx]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x552093
mov ebx, dword [esp + 0xac]
xor ebp, ebp
jmp 0x551a74
mov ebp, ebx
mov ebx, dword [esp + 0xac]
jmp 0x551a74
mov ebx, dword [esp + 0xac]
mov ebp, esi
jmp 0x551a74
xor ebp, ebp
jmp 0x551a7c
mov eax, ebp
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x5520cf
inc ecx
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x168], ebp
mov dword [esp + 0x38], edi
cmp ecx, ebx
jg 0x5525d6
jge 0x55210e
jae 0x5527ab
mov eax, dword [eax + ecx*4]
movzx ebx, byte [eax]
cmp bl, 3
jne 0x5525ad
mov eax, dword [eax + 0x18]
cmp eax, 1
jne 0x5525ad
mov eax, 1
test al, al
jne 0x5520c0
mov dword [esp + 0x58], ecx
cmp ecx, edx
jne 0x5521fa
mov eax, dword [esp + 0xac]
cmp ecx, eax
jge 0x5521f3
jae 0x552788
lea edx, [edi + 1]
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + ecx*4]
cmp edx, esi
jg 0x55219a
mov eax, dword [0xcc2260]
lea ecx, [ebp + edi*4]
test eax, eax
jne 0x552162
mov dword [ebp + edi*4], ebx
mov ecx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov edi, edx
mov edx, eax
jmp 0x5520c0
mov dword [esp + 0x124], ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0040f360
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x124]
mov esi, dword [esp + 0x88]
jmp 0x552152
mov dword [esp + 0x84], edi
mov dword [esp + 0x158], ebx
lea eax, [0x816460]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.0043a030
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x158]
mov edi, dword [esp + 0x84]
jmp 0x552140
mov edx, edi
jmp 0x552152
lea eax, [edx + 1]
cmp ecx, eax
jne 0x5522d5
mov eax, dword [esp + 0xac]
cmp edx, eax
jae 0x5527a4
lea ebx, [edi + 1]
mov eax, dword [esp + 0x164]
mov edx, dword [eax + edx*4]
cmp ebx, esi
jg 0x552286
mov dword [esp + 0x38], ebx
mov eax, dword [0xcc2260]
lea ebx, [ebp + edi*4]
test eax, eax
jne 0x55224f
mov dword [ebp + edi*4], edx
mov eax, dword [esp + 0xac]
cmp ecx, eax
mov edx, dword [esp + 0x38]
mov edi, edx
jmp 0x552123
mov dword [esp + 0x120], ebp
mov dword [esp + 0x80], esi
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0040f360
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0xac]
cmp ecx, eax
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x80]
jmp 0x552244
mov dword [esp + 0x158], edx
lea eax, [0x816460]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043a030
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x158]
mov edi, dword [esp + 0x38]
jmp 0x552225
mov dword [esp + 0xa8], eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0xac]
jmp 0x552315
inc edx
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x164]
mov ebp, dword [esp + 0x168]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov esi, eax
mov eax, edx
mov edx, esi
mov esi, dword [esp + 0x7c]
cmp eax, ecx
jge 0x55235d
cmp edx, ebx
jae 0x55279d
mov ebp, dword [esp + 0x164]
mov esi, dword [ebp + edx*4]
movzx edi, byte [esi]
cmp eax, ebx
jae 0x55279d
mov ebp, dword [ebp + eax*4]
movzx ebx, byte [ebp]
xchg edi, eax
cmp al, bl
xchg edi, eax
jae 0x552349
mov edx, eax
jmp 0x5522ed
jne 0x552355
mov ebx, dword [esi + 0x18]
mov ebp, dword [ebp + 0x18]
cmp ebx, ebp
jl 0x552345
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x5522ed
mov eax, dword [esp + 0x40]
cmp eax, ebx
jae 0x552796
mov ebp, dword [esp + 0x164]
mov esi, dword [ebp + eax*4]
lea edi, [ebp + eax*4]
cmp edx, ebx
jae 0x552796
mov dword [esp + 0x11c], edi
mov edi, dword [0xcc2260]
mov ebx, dword [ebp + edx*4]
lea ecx, [ebp + edx*4]
test edi, edi
jne 0x552562
mov dword [ebp + eax*4], ebx
mov dword [ebp + edx*4], esi
mov ecx, dword [esp + 0xa8]
jmp 0x5523b9
lea edx, [eax + 1]
mov eax, dword [esp + 0x40]
mov ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0x58]
cmp ecx, edx
jge 0x552477
mov ebx, dword [ebp + eax*4]
mov esi, dword [esp + 0xac]
cmp ecx, esi
jae 0x55278f
mov dword [esp + 0x44], ecx
mov eax, dword [ebp + ecx*4]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00554910
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0xcc2260]
lea ebp, [edx + 0x10]
mov dword [esp + 0x118], ebp
mov esi, dword [esp + 0x170]
mov edi, dword [esi + 0x10]
lea ebp, [esi + 0x10]
test ebx, ebx
jne 0x552425
mov dword [edx + 0x10], edi
mov dword [esi + 0x10], edx
jmp 0x5523ae
mov dword [esp + 0xf0], edx
mov dword [esp + 0x114], ebp
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0040f360
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x164]
mov esi, dword [esp + 0x170]
jmp 0x5523ae
mov ecx, dword [ebp + eax*4]
mov dword [esp], ecx
call fcn.00550b30
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x7c]
cmp ecx, ebp
jg 0x552510
mov esi, dword [esp + 0x168]
mov edi, dword [0xcc2260]
lea ebx, [esi + eax*4]
test edi, edi
jne 0x5524d7
mov dword [esi + eax*4], edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xac]
cmp eax, edx
mov eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x58]
mov ebx, ebp
mov ebp, esi
mov esi, ebx
jmp 0x552248
mov dword [esp + 0x110], esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0040f360
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xac]
cmp eax, edx
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x110]
jmp 0x5524c4
mov dword [esp + 0x158], edx
lea edx, [0x816460]
mov dword [esp], edx
mov ebx, dword [esp + 0x168]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.0043a030
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
jmp 0x5524a7
mov dword [esp + 0x158], esi
mov dword [esp + 0x10c], ecx
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0040f360
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x164]
jmp 0x5523a5
cmp bl, 4
jne 0x5525bc
mov eax, 1
jmp 0x55210a
cmp bl, 5
jne 0x5525cb
mov eax, 1
jmp 0x55210a
cmp bl, 6
sete al
jmp 0x55210a
mov eax, ebp
xor ecx, ecx
xor edx, edx
jmp 0x5525e2
mov ebp, ecx
mov ecx, ebx
cmp ecx, edi
jge 0x552734
mov dword [esp + 0x164], ebp
lea ebx, [ecx + 1]
cmp ebx, edi
jge 0x55272d
cmp ecx, edi
jae 0x552781
mov ebp, dword [eax + ecx*4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x552726
cmp ebx, edi
jae 0x552781
mov ebp, dword [eax + ecx*4 + 4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x552636
mov ecx, dword [esp + 0x164]
jmp 0x5525de
cmp ecx, edi
jae 0x55277a
mov dword [esp + 0x70], ebx
lea ebp, [edx + 1]
mov ecx, dword [eax + ecx*4]
cmp ebp, esi
jg 0x5526c1
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xb0]
mov eax, dword [0xcc2260]
mov edi, dword [esp + 0x104]
lea ebx, [edi + edx*4]
test eax, eax
jne 0x55269c
mov dword [edi + edx*4], ecx
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x104]
mov edx, ebp
jmp 0x5525de
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040f360
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x104]
jmp 0x55267f
mov dword [esp + 0x64], edx
mov dword [esp + 0x158], ecx
lea eax, [0x816460]
mov dword [esp], eax
mov ecx, dword [esp + 0x164]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043a030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x168]
jmp 0x552668
cmp ecx, edi
jmp 0x552638
cmp ecx, edi
jmp 0x552638
mov dword [esp + 0x180], ebp
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], esi
add esp, 0x16c
ret
mov eax, dword [esp + 0x174]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x188], eax
add esp, 0x16c
ret
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.0044c200
jmp fcn.00551190