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

Disassembly:
sub esp, 0xd0
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x6c], edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x80], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], edx
mov edx, dword [eax + 0x24]
push ebx
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x2c]
push ebp
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x54]
push esi
mov esi, dword [eax + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [ecx + 0x28]
test dl, 0x10
push edi
mov edi, dword [eax + 0x20]
mov dword [esp + 0x40], edx
je 0x5aaa25
mov ebp, dword [ecx + 0xc]
jmp 0x5aaa27
xor ebp, ebp
test dl, 0x40
je 0x5aaa39
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x40]
jmp 0x5aaa41
mov dword [esp + 0x20], 0
test dl, 0x20
je 0x5aaa4b
mov ecx, dword [ecx + 0x10]
jmp 0x5aaa4d
xor ecx, ecx
test dl, 1
mov dword [esp + 0x5c], ecx
je 0x5aaa62
mov edx, dword [eax + 0x54]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x30], edx
jmp 0x5aaa6a
mov dword [esp + 0x30], 0
test byte [esp + 0x40], 2
je 0x5aaa7d
mov edx, dword [eax + 0x54]
mov edx, dword [edx + 0x18]
mov dword [esp + 0x70], edx
jmp 0x5aaa85
mov dword [esp + 0x70], 0
test byte [esp + 0x40], 4
je 0x5aaa98
mov edx, dword [eax + 0x54]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x38], edx
jmp 0x5aaaa0
mov dword [esp + 0x38], 0
test byte [esp + 0x40], 8
je 0x5aaab3
mov edx, dword [eax + 0x54]
mov edx, dword [edx + 0x20]
mov dword [esp + 0x10], edx
jmp 0x5aaabb
mov dword [esp + 0x10], 0
mov eax, dword [eax + 8]
and eax, 0xfffc7fff
add eax, 0xffffdfff
cmp eax, 0x20
ja case.0x5aaad8.8194
movzx eax, byte [eax + 0x5ac754]
jmp dword [eax*4 + 0x5ac73c]
mov edi, dword [esp + 0x20]
test edi, edi
mov eax, dword [esp + 0xec]
je 0x5aabe7
test ebp, ebp
mov ecx, dword [esp + 0xf0]
je 0x5aac7c
lea edx, [eax + ecx]
cmp eax, edx
jge 0x5ac72e
lea ecx, [eax + eax*2]
shl ecx, 2
lea ebx, [ecx + ebp]
lea ecx, [ecx + esi + 8]
sub ebp, esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x10], ebx
lea ebx, [ecx + eax*4 + 1]
lea edi, [edi + eax*8 + 6]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x60], edx
movzx edx, byte [ebx + 1]
movsx eax, word [edi - 6]
mov ecx, dword [ebx - 1]
add eax, edx
movsx edx, word [edi - 2]
and ecx, 0xff
add ecx, edx
movzx edx, byte [ebx]
shl eax, 0x10
or eax, ecx
movsx ecx, word [edi - 4]
add ecx, edx
movsx edx, word [edi]
shl ecx, 8
or eax, ecx
movzx ecx, byte [ebx + 2]
add ecx, edx
mov edx, dword [esi]
shl ecx, 0x18
or eax, ecx
push 0
push eax
mov ecx, esi
call dword [edx + 0x10]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
fld dword [eax + ebp]
mov eax, dword [esp + 0x10]
fadd dword [ebp]
sub esp, 0xc
mov ecx, esi
fstp dword [esp + 8]
fld dword [ebp - 4]
fadd dword [eax + 4]
fstp dword [esp + 4]
fld dword [ebp - 8]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
add edx, 0xc
add ebp, 0xc
add edi, 8
add ebx, 4
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x60], eax
jne 0x5aab40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
test ebp, ebp
je 0x5aad26
mov ecx, dword [esp + 0xf0]
add ecx, eax
cmp eax, ecx
jge 0x5ac72e
mov edx, dword [esp + 0x78]
lea edi, [eax + eax*2]
shl edi, 2
lea ebx, [edi + ebp]
sub ebp, esi
lea edx, [edx + eax*4]
sub ecx, eax
lea edi, [edi + esi + 8]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov eax, dword [esi]
push 0
push edx
mov ecx, esi
call dword [eax + 0x10]
fld dword [edi + ebp]
fadd dword [edi]
mov eax, dword [esi]
sub esp, 0xc
mov ecx, esi
fstp dword [esp + 8]
fld dword [edi - 4]
fadd dword [ebx + 4]
fstp dword [esp + 4]
fld dword [edi - 8]
fadd dword [ebx]
fstp dword [esp]
call dword [eax]
add dword [esp + 0x10], 4
mov eax, dword [esp + 0x24]
add ebx, 0xc
add edi, 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x5aac27
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
add ecx, eax
cmp eax, ecx
jge 0x5ac72e
mov ebp, dword [esp + 0xe8]
lea edx, [eax + eax*2]
lea esi, [esi + edx*4 + 4]
mov edx, dword [esp + 0x78]
sub ecx, eax
lea ebx, [edx + eax*4 + 1]
lea edi, [edi + eax*8 + 6]
mov dword [esp + 0x24], ecx
jmp 0x5aacb0
movzx ecx, byte [ebx + 1]
movsx eax, word [edi - 6]
mov edx, dword [ebx - 1]
add eax, ecx
movsx ecx, word [edi - 2]
and edx, 0xff
add edx, ecx
movzx ecx, byte [ebx]
shl eax, 0x10
or eax, edx
movsx edx, word [edi - 4]
add edx, ecx
movsx ecx, word [edi]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 2]
add edx, ecx
shl edx, 0x18
or eax, edx
mov edx, dword [ebp]
push 0
push eax
mov ecx, ebp
call dword [edx + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebp]
push ecx
mov ecx, dword [esi - 4]
push edx
push ecx
mov ecx, ebp
call dword [eax]
mov eax, dword [esp + 0x24]
add edi, 8
add ebx, 4
add esi, 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x5aacb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov edx, dword [esp + 0xf0]
lea ecx, [eax + edx]
cmp eax, ecx
jge 0x5ac72e
mov ebx, dword [esp + 0xe8]
lea edx, [eax + eax*2]
lea esi, [esi + edx*4]
mov edx, dword [esp + 0x78]
sub ecx, eax
lea edi, [edx + eax*4]
mov ebp, ecx
mov ecx, dword [edi]
mov eax, dword [ebx]
push ecx
push esi
mov ecx, ebx
call dword [eax + 0x34]
add edi, 4
add esi, 0xc
dec ebp
jne 0x5aad50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
test ecx, ecx
je 0x5aaf54
test ebp, ebp
je 0x5aae9c
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
lea eax, [ecx + edx]
cmp ecx, eax
jge 0x5aae9c
mov edi, ecx
lea edi, [edi + edi*2]
shl edi, 2
lea ecx, [edi + esi]
lea edx, [edi + ebp + 4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov edx, ecx
sub edx, ebx
mov dword [esp + 0x1c], edx
mov edx, ebp
sub edx, ebx
mov dword [esp + 0x44], edx
mov edx, esi
sub edx, ebx
mov dword [esp + 0x2c], edx
mov edx, ecx
sub edx, ebp
sub ecx, esi
mov dword [esp + 0x40], edx
mov edx, esi
sub edx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
sub eax, dword [esp + 0xec]
lea edi, [edi + ebx + 8]
mov dword [esp + 0x48], edx
mov dword [esp + 0x24], eax
jmp 0x5aae00
mov eax, dword [esp + 0xe8]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
fld dword [eax + edi]
mov ecx, dword [esp + 0x40]
fadd dword [edi]
mov eax, dword [esp + 0x3c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx + ebp]
mov ecx, dword [esp + 0x2c]
fadd dword [edi - 4]
fstp dword [esp + 4]
fld dword [eax + ecx]
mov ecx, dword [esp + 0xf4]
fadd dword [edi - 8]
fstp dword [esp]
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
fld dword [eax + edi]
mov eax, dword [esp + 0x44]
fadd dword [eax + edi]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [eax + ebp]
mov eax, dword [esp + 0x2c]
fadd dword [ebp]
fstp dword [esp + 4]
fld dword [ebp - 4]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add ecx, 0xc
add edi, 0xc
add ebp, 0xc
dec eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jne 0x5aae00
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
add eax, ecx
cmp ecx, eax
jge 0x5ac72e
mov edx, dword [esp + 0x5c]
lea edi, [ecx + ecx*2]
shl edi, 2
lea ebp, [edi + edx]
sub edx, ebx
mov dword [esp + 0x1c], edx
mov edx, esi
sub edx, ebx
mov dword [esp + 0x10], ebp
lea ebp, [edi + esi + 4]
lea edi, [edi + ebx + 8]
mov ebx, dword [esp + 0x5c]
sub ebx, esi
mov esi, dword [esp + 0xe8]
sub eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
mov edi, edi
mov eax, dword [esp + 0x1c]
fld dword [eax + edi]
mov ecx, dword [esp + 0x10]
fadd dword [edi]
mov edx, dword [esi]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebx + ebp]
fadd dword [edi - 4]
fstp dword [esp + 4]
fld dword [edi - 8]
fadd dword [ecx]
mov ecx, esi
fstp dword [esp]
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + edi]
mov eax, dword [ebp]
mov edx, dword [esi]
push ecx
mov ecx, dword [ebp - 4]
push eax
push ecx
mov ecx, esi
call dword [edx]
add dword [esp + 0x10], 0xc
mov eax, dword [esp + 0x24]
add edi, 0xc
add ebp, 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x5aaef0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
test ebp, ebp
mov eax, dword [esp + 0xec]
je 0x5ab024
mov ecx, dword [esp + 0xf0]
add ecx, eax
cmp eax, ecx
jge 0x5ab024
lea edi, [eax + eax*2]
shl edi, 2
lea edx, [edi + ebp]
mov dword [esp + 0x10], edx
lea edx, [edi + esi + 8]
mov dword [esp + 0x28], edx
mov edx, ebp
sub edx, ebx
mov dword [esp + 0x44], edx
mov edx, esi
sub ebp, esi
sub edx, ebx
sub ecx, eax
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x28]
lea edi, [edi + ebx + 4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ecx
lea ecx, [ecx]
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx]
push edx
mov edx, dword [edi]
push edx
mov edx, dword [edi - 4]
push edx
call dword [eax + 4]
mov edx, dword [esp + 0x1c]
fld dword [edx + ebp]
mov edx, dword [esp + 0x2c]
fadd dword [ebp]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [edi + edx]
mov edx, dword [esp + 0x50]
fadd dword [edi + edx]
mov edx, dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [ebp - 8]
fadd dword [edx]
fstp dword [esp]
call dword [eax]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
add edx, 0xc
add edi, 0xc
add ebp, 0xc
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], eax
jne 0x5aafb0
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
lea ecx, [eax + edx]
cmp eax, ecx
jge 0x5ac72e
mov ebp, dword [esp + 0xe8]
sub ebx, esi
lea edx, [eax + eax*2]
sub ecx, eax
lea edi, [esi + edx*4]
mov esi, ecx
lea esp, [esp]
mov eax, dword [ebp]
lea ecx, [ebx + edi]
push ecx
push edi
mov ecx, ebp
call dword [eax + 0x30]
add edi, 0xc
dec esi
jne 0x5ab050
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x5ab12f
test ebp, ebp
mov edx, dword [esp + 0xf0]
je 0x5ab1d7
mov eax, dword [esp + 0xec]
add edx, eax
cmp eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jge 0x5ab0eb
lea ebx, [edi + eax*8 + 4]
mov eax, ecx
sub eax, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov edi, edi
mov edx, dword [esp + 0x34]
fld dword [edx + ebx]
mov edx, dword [esp + 0x30]
fadd dword [ebx]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [edx + edi*8]
fadd dword [ebx - 4]
fstp dword [esp]
call dword [eax + 0x14]
mov eax, dword [esp + 0x18]
inc edi
add ebx, 8
cmp edi, eax
jl 0x5ab0b0
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 2
fld dword [eax + esi + 8]
sub esp, 0xc
fadd dword [eax + ebp + 8]
fstp dword [esp + 8]
fld dword [eax + esi + 4]
fadd dword [eax + ebp + 4]
fstp dword [esp + 4]
fld dword [eax + ebp]
fadd dword [eax + esi]
fstp dword [esp]
call dword [edx]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
add ecx, eax
test ebp, ebp
je 0x5ab261
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jge 0x5ac72e
lea ebx, [eax + eax*2]
shl ebx, 2
lea edx, [ebx + ebp]
sub ebp, esi
lea ebx, [ebx + esi + 8]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], edx
mov ebp, eax
mov ecx, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
mov eax, dword [esi]
push 0
push ecx
push edx
mov ecx, esi
call dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + ebx]
mov eax, dword [esp + 0x10]
fadd dword [ebx]
mov edx, dword [esi]
sub esp, 0xc
mov ecx, esi
fstp dword [esp + 8]
fld dword [ebx - 4]
fadd dword [eax + 4]
fstp dword [esp + 4]
fld dword [ebx - 8]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc ebp
add edx, 0xc
add ebx, 0xc
cmp ebp, eax
mov dword [esp + 0x10], edx
jl 0x5ab177
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ebp, dword [esp + 0xec]
lea eax, [edx + ebp]
cmp ebp, eax
mov dword [esp + 0x18], eax
jge 0x5ac72e
lea eax, [ebp + ebp*2]
lea esi, [esi + eax*4 + 4]
mov eax, ecx
sub eax, edi
lea ebx, [edi + ebp*8 + 4]
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x34], eax
jmp 0x5ab210
mov eax, dword [esp + 0x34]
fld dword [ebx + eax]
mov ecx, dword [esp + 0x30]
fadd dword [ebx]
mov edx, dword [edi]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + ebp*8]
mov ecx, edi
fadd dword [ebx - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [edi]
push eax
mov eax, dword [esi - 4]
push ecx
push eax
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x18]
inc ebp
add ebx, 8
add esi, 0xc
cmp ebp, eax
jl 0x5ab210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
cmp eax, ecx
jge 0x5ac72e
mov ebx, dword [esp + 0xe8]
lea edx, [eax + eax*2]
sub ecx, eax
lea esi, [esi + edx*4]
lea edi, [edi + eax*8]
mov ebp, ecx
lea ecx, [ecx]
mov eax, dword [ebx]
push edi
push esi
mov ecx, ebx
call dword [eax + 0x2c]
add edi, 8
add esi, 0xc
dec ebp
jne 0x5ab280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov edx, dword [esp + 0x20]
test edx, edx
mov ecx, dword [esp + 0x30]
je 0x5ab509
test ecx, ecx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x14], eax
je 0x5ab616
test ebp, ebp
je 0x5ab412
mov ecx, dword [esp + 0xf0]
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x18], ecx
jge 0x5ac72e
lea ecx, [eax + eax*2]
shl ecx, 2
lea ebx, [ecx + ebp]
lea ecx, [ecx + esi + 8]
mov dword [esp + 0x4c], ecx
lea ecx, [edi + eax*8 + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
lea edx, [edx + eax*8 + 6]
mov dword [esp + 0x10], ebx
lea ebx, [ecx + eax*4 + 1]
mov eax, dword [esp + 0x30]
sub eax, edi
sub ebp, esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
mov edi, edx
jmp 0x5ab330
movzx ecx, byte [ebx + 1]
movsx eax, word [edi - 6]
mov edx, dword [ebx - 1]
add eax, ecx
movsx ecx, word [edi - 2]
and edx, 0xff
add edx, ecx
movzx ecx, byte [ebx]
shl eax, 0x10
or eax, edx
movsx edx, word [edi - 4]
add edx, ecx
movsx ecx, word [edi]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 2]
add edx, ecx
shl edx, 0x18
or eax, edx
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov edx, dword [esi]
fld dword [eax + ecx]
mov ecx, dword [esp + 0x14]
fadd dword [eax]
mov eax, dword [esp + 0x30]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [eax + ecx*8]
mov eax, dword [esp + 0x2c]
fadd dword [eax - 4]
mov ecx, esi
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + ebp]
mov eax, dword [esp + 0x10]
fadd dword [ebp]
mov edx, dword [esi]
sub esp, 0xc
mov ecx, esi
fstp dword [esp + 8]
fld dword [ebp - 4]
fadd dword [eax + 4]
fstp dword [esp + 4]
fld dword [ebp - 8]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
add ecx, 0xc
inc eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
add edx, 8
add ebx, 4
add edi, 8
add ebp, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
jl 0x5ab330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ebx, dword [esp + 0xf0]
add ebx, eax
cmp eax, ebx
mov dword [esp + 0x18], ebx
jge 0x5ac72e
lea ebx, [eax + eax*2]
lea esi, [esi + ebx*4 + 4]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x78]
lea ebx, [esi + eax*4 + 1]
lea ebp, [edi + eax*8 + 4]
lea esi, [edx + eax*8 + 6]
mov eax, ecx
sub eax, edi
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x34], eax
movzx ecx, byte [ebx + 1]
movsx eax, word [esi - 6]
mov edx, dword [ebx - 1]
add eax, ecx
movsx ecx, word [esi - 2]
and edx, 0xff
add edx, ecx
movzx ecx, byte [ebx]
shl eax, 0x10
or eax, edx
movsx edx, word [esi - 4]
add edx, ecx
movsx ecx, word [esi]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 2]
add edx, ecx
shl edx, 0x18
or eax, edx
mov edx, dword [edi]
push 0
push eax
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
fld dword [ecx + ebp]
mov ecx, dword [esp + 0x14]
fadd dword [ebp]
mov eax, dword [edi]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [edx + ecx*8]
mov ecx, edi
fadd dword [ebp - 4]
fstp dword [esp]
call dword [eax + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [edi]
push ecx
mov ecx, dword [eax]
mov eax, dword [eax - 4]
push ecx
push eax
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 0xc
add ebx, 4
add esi, 8
add ebp, 8
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x5ab451
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
test ecx, ecx
je 0x5ab8a6
test ebp, ebp
mov edx, dword [esp + 0xf0]
je 0x5ab801
mov eax, dword [esp + 0xec]
add edx, eax
cmp eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jge 0x5ac72e
lea ebx, [eax + eax*2]
shl ebx, 2
lea edx, [ebx + ebp]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x78]
lea edx, [edx + eax*4]
lea eax, [edi + eax*8 + 4]
mov dword [esp + 0x28], eax
mov eax, ecx
sub eax, edi
mov edi, dword [esp + 0x28]
sub ebp, esi
lea ebx, [ebx + esi + 8]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [esi]
push 0
push ecx
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esp + 0x34]
fld dword [edi + eax]
mov ecx, dword [esp + 0x30]
fadd dword [edi]
mov edx, dword [esi]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + ebp*8]
mov ecx, esi
fadd dword [edi - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + ebx]
mov eax, dword [esp + 0x38]
fadd dword [ebx]
mov edx, dword [esi]
sub esp, 0xc
mov ecx, esi
fstp dword [esp + 8]
fld dword [ebx - 4]
fadd dword [eax + 4]
fstp dword [esp + 4]
fld dword [ebx - 8]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
inc ebp
add ecx, 4
add edx, 0xc
add edi, 8
add ebx, 0xc
cmp ebp, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x38], edx
jl 0x5ab580
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ecx, dword [esp + 0xf0]
add ecx, eax
test ebp, ebp
mov dword [esp + 0x18], ecx
je 0x5ab73a
cmp eax, ecx
jge 0x5ac72e
lea ecx, [eax + eax*2]
shl ecx, 2
lea ebx, [ecx + ebp]
lea ecx, [ecx + esi + 8]
sub ebp, esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x78]
lea edx, [edx + eax*8 + 6]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebp
lea ebx, [ecx + eax*4 + 1]
mov dword [esp + 0x28], edx
mov ebp, edx
jmp 0x5ab670
movzx ecx, byte [ebx + 1]
movsx eax, word [ebp - 6]
mov edx, dword [ebx - 1]
add eax, ecx
movsx ecx, word [ebp - 2]
and edx, 0xff
add edx, ecx
movzx ecx, byte [ebx]
shl eax, 0x10
or eax, edx
movsx edx, word [ebp - 4]
add edx, ecx
movsx ecx, word [ebp]
shl edx, 8
or eax, edx
movzx edx, byte [ebx + 2]
add edx, ecx
shl edx, 0x18
or eax, edx
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + eax*8 + 4]
mov eax, dword [edi + eax*8]
mov edx, dword [esi]
push 0
push ecx
push eax
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
fld dword [ecx + eax]
mov ecx, dword [esp + 0x10]
fadd dword [eax]
mov edx, dword [esi]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [eax - 4]
fadd dword [ecx + 4]
fstp dword [esp + 4]
fld dword [eax - 8]
fadd dword [ecx]
mov ecx, esi
fstp dword [esp]
call dword [edx]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, 0xc
add edx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
add edx, ecx
mov ecx, dword [esp + 0x18]
inc eax
add ebx, 4
add ebp, 8
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], edx
jl 0x5ab670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
cmp eax, ecx
jge 0x5ac72e
mov ebx, dword [esp + 0xe8]
lea ecx, [eax + eax*2]
lea ecx, [esi + ecx*4 + 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
lea esi, [ecx + eax*4 + 1]
lea ebp, [edx + eax*8 + 6]
movzx edx, byte [esi + 1]
movsx eax, word [ebp - 6]
mov ecx, dword [esi - 1]
add eax, edx
movsx edx, word [ebp - 2]
and ecx, 0xff
add ecx, edx
movzx edx, byte [esi]
shl eax, 0x10
or eax, ecx
movsx ecx, word [ebp - 4]
add ecx, edx
movsx edx, word [ebp]
shl ecx, 8
or eax, ecx
movzx ecx, byte [esi + 2]
add ecx, edx
mov edx, dword [ebx]
shl ecx, 0x18
or eax, ecx
push 0
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + eax*8 + 4]
mov eax, dword [edi + eax*8]
mov edx, dword [ebx]
push 0
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [ebx]
push ecx
mov ecx, dword [eax]
mov eax, dword [eax - 4]
push ecx
push eax
mov ecx, ebx
call dword [edx]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 0xc
add esi, 4
add ebp, 8
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x5ab760
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ebp, dword [esp + 0xec]
lea eax, [edx + ebp]
cmp ebp, eax
mov dword [esp + 0x18], eax
jge 0x5ac72e
mov eax, dword [esp + 0x78]
lea edx, [eax + ebp*4]
sub ecx, edi
lea eax, [ebp + ebp*2]
lea ebx, [edi + ebp*8 + 4]
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x10], edx
lea esi, [esi + eax*4 + 4]
mov dword [esp + 0x34], ecx
jmp 0x5ab840
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [edi]
push 0
push ecx
mov ecx, edi
call dword [edx + 0x10]
mov eax, dword [esp + 0x34]
fld dword [ebx + eax]
mov ecx, dword [esp + 0x30]
fadd dword [ebx]
mov edx, dword [edi]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + ebp*8]
mov ecx, edi
fadd dword [ebx - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [edi]
push eax
mov eax, dword [esi - 4]
push ecx
push eax
mov ecx, edi
call dword [edx]
add dword [esp + 0x10], 4
mov eax, dword [esp + 0x18]
inc ebp
add ebx, 8
add esi, 0xc
cmp ebp, eax
jl 0x5ab840
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
add ecx, eax
test ebp, ebp
je 0x5ab97b
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jge 0x5ac72e
mov ecx, dword [esp + 0x78]
lea ebx, [eax + eax*2]
shl ebx, 2
lea edx, [ebx + ebp]
sub ebp, esi
mov dword [esp + 0x38], edx
lea edx, [ecx + eax*4]
lea ebx, [ebx + esi + 8]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], edx
mov ebp, eax
lea esp, [esp]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov eax, dword [esi]
push 0
push edx
mov ecx, esi
call dword [eax + 0x10]
mov ecx, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
mov eax, dword [esi]
push 0
push ecx
push edx
mov ecx, esi
call dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + ebx]
mov eax, dword [esp + 0x38]
fadd dword [ebx]
mov edx, dword [esi]
sub esp, 0xc
mov ecx, esi
fstp dword [esp + 8]
fld dword [eax + 4]
fadd dword [ebx - 4]
fstp dword [esp + 4]
fld dword [ebx - 8]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
inc ebp
add edx, 0xc
add ebx, 0xc
cmp ebp, eax
mov dword [esp + 0x38], edx
jl 0x5ab900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
cmp eax, ecx
jge 0x5ac72e
mov ebp, dword [esp + 0xe8]
lea edx, [eax + eax*2]
lea esi, [esi + edx*4]
mov edx, dword [esp + 0x78]
sub ecx, eax
lea ebx, [edx + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebx]
mov eax, dword [ebp]
push edi
push ecx
push esi
mov ecx, ebp
call dword [eax + 0x28]
mov eax, dword [esp + 0x24]
add edi, 8
add ebx, 4
add esi, 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x5ab9a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov edx, dword [esp + 0x30]
test edx, edx
je 0x5abd67
test ecx, ecx
je 0x5abc45
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
add edx, eax
test ebp, ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
je 0x5abb49
cmp eax, edx
jge 0x5ac72e
lea eax, [eax + eax*2]
shl eax, 2
lea edx, [eax + esi]
mov dword [esp + 0x20], edx
lea edx, [eax + ebp + 4]
lea eax, [eax + ebx + 8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xec]
lea eax, [edi + edx*8 + 4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x30]
sub eax, edi
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x64]
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x1c], eax
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x44], eax
mov eax, esi
sub eax, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x2c], eax
mov eax, ecx
sub eax, ebp
mov dword [esp + 0x40], eax
mov eax, esi
sub eax, ebp
mov ebp, dword [esp + 0x28]
sub ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], ecx
nop
mov eax, dword [esp + 0x34]
fld dword [edi + eax]
mov ecx, dword [esp + 0x30]
fadd dword [edi]
mov eax, dword [esp + 0x14]
mov edx, dword [ebx]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + eax*8]
mov ecx, ebx
fadd dword [edi - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + esi]
mov ecx, dword [esp + 0x40]
fadd dword [esi]
mov eax, dword [esp + 0x3c]
mov edx, dword [ebx]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx + ebp]
mov ecx, dword [esp + 0x2c]
fadd dword [esi - 4]
fstp dword [esp + 4]
fld dword [eax + ecx]
mov ecx, ebx
fadd dword [esi - 8]
fstp dword [esp]
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
fld dword [eax + esi]
mov ecx, dword [esp + 0x44]
fadd dword [ecx + esi]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [eax + ebp]
fadd dword [ebp]
fstp dword [esp + 4]
fld dword [ebp - 4]
fadd dword [ecx]
mov ecx, ebx
fstp dword [esp]
call dword [edx]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 0xc
add edi, 8
add esi, 0xc
add ebp, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
jl 0x5aba80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
cmp eax, edx
jge 0x5ac72e
lea ebp, [eax + eax*2]
lea eax, [edi + eax*8 + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
sub eax, edi
mov dword [esp + 0x34], eax
mov eax, ecx
sub eax, ebx
shl ebp, 2
lea edx, [ecx + ebp]
mov dword [esp + 0x1c], eax
mov eax, esi
sub eax, ebx
mov dword [esp + 0x10], edx
lea edx, [esi + ebp + 4]
sub ecx, esi
mov esi, dword [esp + 0xe8]
lea ebp, [ebx + ebp + 8]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov edi, edx
nop
mov eax, dword [esp + 0x34]
fld dword [ebx + eax]
mov ecx, dword [esp + 0x30]
fadd dword [ebx]
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + eax*8]
mov ecx, esi
fadd dword [ebx - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + ebp]
mov ecx, dword [esp + 0x3c]
fadd dword [ebp]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx + edi]
mov ecx, esi
fadd dword [ebp - 4]
fstp dword [esp + 4]
fld dword [ebp - 8]
fadd dword [eax]
fstp dword [esp]
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + ebp]
mov eax, dword [edi]
mov edx, dword [esi]
push ecx
mov ecx, dword [edi - 4]
push eax
push ecx
mov ecx, esi
call dword [edx]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 0xc
add ebx, 8
add ebp, 0xc
add edi, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x5abba0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
test ebp, ebp
je 0x5abea4
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
lea eax, [ecx + edx]
cmp ecx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jge 0x5ac72e
lea eax, [ecx + ecx*2]
shl eax, 2
lea edx, [eax + ebp]
mov dword [esp + 0x10], edx
lea edx, [eax + esi + 8]
lea eax, [eax + ebx + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
sub eax, edi
mov dword [esp + 0x34], eax
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x44], eax
mov eax, esi
sub eax, ebx
mov ebx, dword [esp + 0xe8]
sub ebp, esi
mov esi, dword [esp + 0x4c]
lea ecx, [edi + ecx*8 + 4]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], eax
mov edi, edx
mov ebp, ecx
mov eax, dword [esp + 0x34]
fld dword [eax + ebp]
mov ecx, dword [esp + 0x30]
fadd dword [ebp]
mov eax, dword [esp + 0x14]
mov edx, dword [ebx]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + eax*8]
mov ecx, ebx
fadd dword [ebp - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [ebx]
push eax
mov eax, dword [esi - 4]
push ecx
push eax
mov ecx, ebx
call dword [edx + 4]
mov eax, dword [esp + 0x1c]
fld dword [eax + edi]
mov ecx, dword [esp + 0x2c]
fadd dword [edi]
mov eax, dword [esp + 0x44]
mov edx, dword [ebx]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esi + ecx]
mov ecx, dword [esp + 0x1c]
fadd dword [esi + eax]
fstp dword [esp + 4]
fld dword [edi - 8]
fadd dword [ecx]
mov ecx, ebx
fstp dword [esp]
call dword [edx]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ecx, 0xc
inc eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
add ebp, 8
add esi, 0xc
add edi, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x5abcc2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
test ecx, ecx
mov eax, dword [esp + 0xec]
je 0x5ac054
mov edx, dword [esp + 0xf0]
add edx, eax
test ebp, ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
je 0x5abf77
cmp eax, edx
jge 0x5ac72e
lea eax, [eax + eax*2]
shl eax, 2
lea edx, [eax + esi]
mov dword [esp + 0x20], edx
lea edx, [eax + ebp + 4]
lea eax, [eax + ebx + 8]
mov dword [esp + 0x4c], eax
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x1c], eax
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x44], eax
mov eax, esi
sub eax, ebx
mov dword [esp + 0x2c], eax
mov eax, ecx
sub eax, ebp
mov dword [esp + 0x40], eax
mov eax, esi
sub eax, ebp
mov ebp, dword [esp + 0xe8]
sub ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], ecx
mov ebx, edx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + eax*8 + 4]
mov eax, dword [edi + eax*8]
mov edx, dword [ebp]
push 0
push ecx
push eax
mov ecx, ebp
call dword [edx + 0x14]
mov eax, dword [esp + 0x1c]
fld dword [eax + esi]
mov ecx, dword [esp + 0x40]
fadd dword [esi]
mov eax, dword [esp + 0x3c]
mov edx, dword [ebp]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx + ebx]
mov ecx, dword [esp + 0x2c]
fadd dword [esi - 4]
fstp dword [esp + 4]
fld dword [eax + ecx]
mov ecx, ebp
fadd dword [esi - 8]
fstp dword [esp]
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
fld dword [eax + esi]
mov ecx, dword [esp + 0x44]
fadd dword [ecx + esi]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [eax + ebx]
fadd dword [ebx]
fstp dword [esp + 4]
fld dword [ebx - 4]
fadd dword [ecx]
mov ecx, ebp
fstp dword [esp]
call dword [edx]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 0xc
add esi, 0xc
add ebx, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
jl 0x5abdf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jge 0x5ac72e
lea ebp, [eax + eax*2]
lea eax, [edi + eax*8 + 4]
mov dword [esp + 0x28], eax
shl ebp, 2
lea ecx, [esi + ebp]
mov eax, edx
sub eax, edi
mov edi, dword [esp + 0xe8]
sub esi, ebx
lea ebp, [ebx + ebp + 4]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x34]
fld dword [eax + ebx]
mov ecx, dword [esp + 0x30]
fadd dword [ebx]
mov edx, dword [edi]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + esi*8]
mov ecx, edi
fadd dword [ebx - 4]
fstp dword [esp]
call dword [edx + 0x14]
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
mov edx, dword [edi]
push eax
mov eax, dword [ebp - 4]
push ecx
push eax
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov edx, dword [edi]
push ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + ebp]
push ecx
push eax
mov ecx, edi
call dword [edx]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc esi
add ecx, 0xc
add ebx, 8
add ebp, 0xc
cmp esi, eax
mov dword [esp + 0x10], ecx
jl 0x5abf00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
cmp eax, edx
jge 0x5ac72e
lea ebp, [eax + eax*2]
shl ebp, 2
lea eax, [ecx + ebp]
mov dword [esp + 0x10], eax
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x1c], eax
mov eax, esi
sub eax, ebx
lea edx, [esi + ebp + 4]
sub ecx, esi
mov esi, dword [esp + 0xe8]
lea ebp, [ebx + ebp + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
lea esp, [esp]
mov ecx, dword [edi + ebx*8 + 4]
mov edx, dword [edi + ebx*8]
mov eax, dword [esi]
push 0
push ecx
push edx
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [esp + 0x1c]
fld dword [ecx + ebp]
mov edx, dword [esp + 0x3c]
fadd dword [ebp]
mov ecx, dword [esp + 0x20]
mov eax, dword [esi]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [edx + ecx]
mov edx, dword [esp + 0x1c]
fadd dword [ebp - 4]
mov ecx, esi
fstp dword [esp + 4]
fld dword [ebp - 8]
fadd dword [edx]
fstp dword [esp]
call dword [eax + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + ebp]
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
push ecx
mov ecx, dword [eax]
mov eax, dword [eax - 4]
push ecx
push eax
mov ecx, esi
call dword [edx]
mov ecx, dword [esp + 0x10]
mov eax, 0xc
add ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
add ecx, eax
add ebp, eax
mov eax, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x20], ecx
jl 0x5abfc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov ecx, dword [esp + 0xf0]
add ecx, eax
test ebp, ebp
je 0x5ac140
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jge 0x5ac72e
lea eax, [eax + eax*2]
shl eax, 2
lea edx, [eax + ebp]
lea ecx, [eax + esi + 8]
mov dword [esp + 0x10], edx
lea edx, [eax + ebx + 4]
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x44], eax
mov eax, esi
sub eax, ebx
mov ebx, dword [esp + 0xe8]
sub ebp, esi
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov esi, edx
mov ecx, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
mov eax, dword [ebx]
push 0
push ecx
push edx
mov ecx, ebx
call dword [eax + 0x14]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebx]
push ecx
mov ecx, dword [esi - 4]
push edx
push ecx
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
fld dword [ecx + eax]
mov ecx, dword [esp + 0x2c]
fadd dword [eax]
mov edx, dword [ebx]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx + esi]
mov ecx, dword [esp + 0x50]
fadd dword [ecx + esi]
mov ecx, ebx
fstp dword [esp + 4]
fld dword [eax - 8]
mov eax, dword [esp + 0x1c]
fadd dword [eax]
fstp dword [esp]
call dword [edx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, 0xc
add edx, eax
add ecx, eax
add esi, eax
mov eax, dword [esp + 0x18]
inc ebp
cmp ebp, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x38], ecx
jl 0x5ac0b5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
cmp eax, ecx
jge 0x5ac72e
sub ebx, esi
lea edx, [eax + eax*2]
sub ecx, eax
lea ebp, [esi + edx*4]
mov esi, dword [esp + 0xe8]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], ecx
mov eax, dword [esi]
push edi
lea ecx, [ebx + ebp]
push ecx
push ebp
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esp + 0x24]
add edi, 8
add ebp, 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x5ac160
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
lea ecx, [eax + edx]
cmp eax, ecx
mov dword [esp + 0x18], ecx
jge 0x5ac72e
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + eax*8]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x68]
lea ecx, [eax + eax*2]
shl ecx, 2
add edx, ecx
mov dword [esp + 0x40], edx
lea edx, [edi + eax*8 + 4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x78]
lea edx, [edx + eax*4 + 1]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x20]
lea edx, [edx + eax*8 + 6]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x74]
lea edx, [ecx + edx + 8]
lea ecx, [ecx + ebx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x5c]
sub ecx, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x54], edx
mov edx, ecx
sub edx, ebx
mov dword [esp + 0xb8], edx
mov edx, ebp
sub edx, ebx
mov dword [esp + 0x44], edx
mov edx, esi
sub edx, ebx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x68]
sub edx, ecx
mov dword [esp + 0xdc], edx
mov edx, ebp
sub edx, ecx
mov dword [esp + 0xcc], edx
mov edx, esi
sub edx, ecx
or ecx, 0xffffffff
mov dword [esp + 0x64], edx
sub ecx, dword [esp + 0x78]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x30]
sub ecx, edi
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x70]
sub ecx, edi
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x6c]
sub ecx, edi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x38]
sub ecx, edi
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x60]
sub ecx, edi
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x10]
sub ecx, edi
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x24]
sub ecx, edi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x68]
sub edx, ecx
mov dword [esp + 0xd8], edx
mov edx, ebp
sub edx, ecx
sub esi, ecx
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x70]
sub edx, ecx
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0xe8]
mov edx, ecx
mov ecx, dword [esp + 0x6c]
sub edx, ecx
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x38]
sub edx, ecx
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x60]
sub edx, ecx
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x10]
sub edx, ecx
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x24]
sub edx, ecx
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov dword [esp + 0xa8], edx
mov dword [esp + 0x28], ecx
test ebx, ebx
je 0x5ac38f
mov eax, dword [esp + 0x5c]
mov edx, dword [esi]
test eax, eax
mov eax, dword [esp + 0x50]
je 0x5ac37f
mov ecx, dword [esp + 0x1c]
fld dword [ecx + eax + 4]
sub esp, 0xc
fadd dword [eax + 4]
fstp dword [esp + 8]
fld dword [eax]
fadd dword [ecx + eax]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xe4]
fstp dword [esp + 4]
fld dword [eax + ecx]
mov eax, dword [esp + 0x5c]
fadd dword [eax - 4]
fstp dword [esp]
jmp 0x5ac38a
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [eax]
mov eax, dword [eax - 4]
push ecx
push eax
mov ecx, esi
call dword [edx + 4]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5ac3c3
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x54]
mov ecx, dword [ecx + eax]
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [eax]
push ecx
mov ecx, esi
call dword [edx + 8]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5ac3f0
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
mov eax, dword [esp + 0xb8]
mov edx, dword [esi]
push ecx
mov ecx, dword [esp + 0x54]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x58]
push eax
mov eax, dword [ecx - 8]
push eax
mov ecx, esi
call dword [edx + 0xc]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5ac475
mov eax, dword [esp + 0x20]
test eax, eax
push 0
je 0x5ac466
mov ecx, dword [esp + 0x4c]
movsx eax, word [ecx - 6]
mov ecx, dword [esp + 0x5c]
movzx edx, byte [ecx + 1]
mov ecx, dword [ecx - 1]
add eax, edx
mov edx, dword [esp + 0x4c]
movsx edx, word [edx - 2]
and ecx, 0xff
add ecx, edx
shl eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0x4c]
movsx edx, word [ecx - 4]
mov ecx, dword [esp + 0x5c]
movzx ecx, byte [ecx]
add edx, ecx
shl edx, 8
or eax, edx
mov edx, dword [esp + 0x5c]
movzx ecx, byte [edx + 2]
mov edx, dword [esp + 0x4c]
movsx edx, word [edx]
add ecx, edx
mov edx, dword [esi]
shl ecx, 0x18
or eax, ecx
push eax
mov ecx, esi
call dword [edx + 0x10]
jmp 0x5ac475
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx - 1]
mov eax, dword [esi]
push edx
mov ecx, esi
call dword [eax + 0x10]
mov ecx, 1
mov dword [esp + 0x18], ecx
mov edi, edi
mov eax, dword [esp + ecx*4 + 0x78]
test eax, eax
je 0x5ac4a6
mov ecx, dword [esp + 0xac]
mov edx, dword [esi]
add ecx, eax
mov eax, dword [esp + 0x58]
mov ecx, dword [ecx + eax]
push 0
push ecx
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esp + 0x18]
inc ecx
cmp ecx, 7
mov dword [esp + 0x18], ecx
jl 0x5ac480
test edi, edi
je 0x5ac503
mov eax, dword [esp + 0x30]
mov edx, dword [esi]
test eax, eax
mov eax, dword [esp + 0x14]
push 0
je 0x5ac4f7
mov ecx, dword [esp + 0x38]
fld dword [ecx + eax]
mov ecx, dword [esp + 0x40]
fadd dword [eax]
mov eax, dword [esp + 0x9c]
sub esp, 8
add ecx, eax
mov eax, dword [esp + 0xcc]
fstp dword [esp + 4]
fld dword [ecx + eax]
mov ecx, dword [esp + 0x20]
fadd dword [ecx - 4]
fstp dword [esp]
jmp 0x5ac4fe
mov ecx, dword [eax]
mov eax, dword [eax - 4]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5ac566
mov eax, dword [esp + 0x70]
test eax, eax
mov edx, dword [esi]
push 1
je 0x5ac54b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa8]
fld dword [ecx + eax]
mov ecx, dword [esp + 0xd4]
fadd dword [ecx + eax]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x9c]
sub esp, 8
fstp dword [esp + 4]
fld dword [eax + ecx]
fadd dword [eax]
fstp dword [esp]
jmp 0x5ac561
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x40]
push eax
mov eax, dword [ecx]
push eax
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5ac5dd
mov eax, dword [esp + 0x38]
test eax, eax
mov edx, dword [esi]
push 2
je 0x5ac5ba
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x98]
fld dword [ecx + eax]
mov ecx, dword [esp + 0xb4]
fadd dword [ecx + eax]
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x40]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + eax]
mov ecx, dword [esp + 0xc0]
fadd dword [ecx + eax]
fstp dword [esp]
jmp 0x5ac5d8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x98]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [ecx + eax]
push ecx
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5ac654
mov eax, dword [esp + 0x10]
test eax, eax
mov edx, dword [esi]
push 3
je 0x5ac631
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa0]
fld dword [ecx + eax]
mov ecx, dword [esp + 0xc0]
fadd dword [ecx + eax]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x40]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + eax]
mov ecx, dword [esp + 0xd0]
fadd dword [ecx + eax]
fstp dword [esp]
jmp 0x5ac64f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0xac]
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [ecx + eax]
push ecx
mov ecx, esi
call dword [edx + 0x14]
test ebp, ebp
mov edx, dword [esi]
je 0x5ac6a6
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x64]
fld dword [ecx + eax]
mov ecx, dword [esp + 0xcc]
fadd dword [ecx + eax]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx + eax]
mov ecx, dword [esp + 0x50]
fadd dword [ecx + eax]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x58]
fstp dword [esp + 4]
fld dword [eax + ecx]
mov ecx, dword [esp + 0xe0]
fadd dword [eax + ecx]
fstp dword [esp]
jmp 0x5ac6ca
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x64]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x54]
mov ecx, dword [ecx + eax]
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x54]
mov eax, dword [eax + ecx]
push eax
mov ecx, esi
call dword [edx]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x58], eax
mov eax, 8
add edx, eax
add ecx, eax
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x3c]
add edx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov eax, 0xc
add ecx, eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x54]
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x28], eax
jne 0x5ac338
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret