Function at 0x1a4f50
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1b8
mov eax, dword [0x4e73e0]
push ebx
push ebp
mov ebp, dword [esp + 0x1c4]
push esi
mov esi, dword [esp + 0x1d0]
xor ebx, ebx
push edi
xor edi, edi
cmp dword [eax + 0x209c], edi
mov dword [esp + 0x1ac], edi
setne bl
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x19c], 0x4b
cmp ebx, edi
mov dword [esp + 0x1a0], ebx
je 0x1a4fb1
push edi
push edi
push edi
push 1
push 0x4b
call fcn.0008dca0
cmp dword [esp + 0x1d0], edi
jne 0x1a4fdd
cmp ebx, edi
je 0x1a5591
push edi
push edi
push edi
push 2
push 0x4b
call fcn.0008dca0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
call dword [edx + 0x3c]
mov eax, dword [esp + 0x1d0]
push eax
mov eax, esi
mov edi, ebp
call fcn.001a4980
test eax, eax
jne 0x1a5022
test ebx, ebx
je 0x1a5591
push eax
push eax
push eax
push 2
push 0x4b
call fcn.0008dca0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov ecx, esi
call fcn.00091370
mov edi, eax
mov ecx, esi
mov dword [esp + 0x1b0], edi
call fcn.00091310
cmp di, 0x76c
movsx ecx, di
mov dword [esp + 0xa4], ecx
movsx edx, ax
fild dword [esp + 0xa4]
mov dword [esp + 0xe8], edx
mov dword [esp + 0x1b8], eax
fstp dword [esp + 0x190]
fild dword [esp + 0xe8]
fstp dword [esp + 0x28]
jle 0x1a5085
cmp ax, 0x3e8
mov dword [esp + 0x1b4], 1
jg 0x1a5090
mov dword [esp + 0x1b4], 0
mov eax, dword [esp + 0x1d0]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [esp + 0x40], ecx
mov edx, eax
mov ecx, eax
shr edx, 0xa
shr ecx, 0xb
and edx, 1
and ecx, 1
shr eax, 0xc
and eax, 1
mov dword [esp + 0x1bc], 1
mov dword [esp + 0xf4], edx
mov dword [esp + 0x198], ecx
mov dword [esp + 0xf8], eax
je 0x1a50e8
mov dword [esp + 0x1bc], 0
mov eax, dword [esi + 0x244]
shr eax, 5
and eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0xfc], eax
jne 0x1a5110
mov dword [esp + 0xfc], esi
mov ecx, dword [esp + 0x1e0]
mov eax, dword [ecx + 0x14c]
test eax, eax
mov dword [esp + 0xec], eax
jne 0x1a512f
mov dword [esp + 0xec], ecx
test edx, edx
je 0x1a564a
mov ebx, dword [esp + 0x1d0]
mov eax, dword [ebx + 0xc8]
test eax, eax
lea edi, [ebx + 0xc8]
mov dword [esp + 0x4c], edi
je 0x1a51aa
mov ecx, dword [ebx + 0x88]
mov edx, dword [ecx + 0xdc]
mov ecx, dword [edx + 0x60]
mov edx, dword [ecx]
mov esi, dword [ebx + 0xd4]
mov edx, dword [edx + 0x40]
xor ecx, ecx
cmp esi, ecx
ja 0x1a52f0
jb 0x1a5188
mov ecx, ebx
mov ecx, dword [ecx + 0xd0]
cmp ecx, edx
jae 0x1a52f0
test eax, eax
mov ebx, dword [esp + 0x1d0]
je 0x1a51aa
mov edx, dword [ebx + 0xd8]
mov eax, dword [0x4e73e0]
push edx
call fcn.00069af0
mov dword [edi], 0
mov eax, dword [ebx + 0x88]
mov ecx, dword [eax + 0xdc]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx]
mov ecx, dword [eax + 0x40]
mov edx, dword [0x4e73e0]
xor eax, eax
lea esi, [ebx + 0xd0]
mov dword [esi], ecx
mov dword [esi + 4], 0
mov dword [ebx + 0xd8], 0x96a26395
mov dword [ebx + 0xdc], 0x9fc15aa5
cmp dword [edx + 0x868], 4
mov ecx, edi
setne al
mov edi, edx
sub eax, 1
and eax, 0x100
or eax, 0x1010
push eax
push 0x3e
push 0x96a26395
mov eax, esi
call fcn.00069140
test eax, eax
je 0x1a5246
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x19c]
mov dword [ebx + 0xdc], 0
mov dword [ecx], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov esi, dword [0x4e73e0]
add edx, 0xffffffff
adc eax, 0xffffffff
push eax
mov eax, dword [esp + 0x1d4]
mov ebx, dword [eax + 0xd8]
mov edi, dword [eax + 0xdc]
push edx
push 0
push 0
push 0x20000000
push 2
call fcn.000690c0
test eax, eax
je 0x1a52ac
mov ecx, dword [esp + 0x1d0]
lea eax, [esp + 0x19c]
mov dword [ecx + 0xdc], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0xc]
mov esi, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esi + 0xdc]
call fcn.00095bb0
test eax, eax
je 0x1a52f0
lea eax, [esp + 0x19c]
mov dword [esi + 0xdc], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov ebx, dword [esp + 0x1d0]
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
lea edi, [ebx + 0xe0]
mov dword [esp + 0x4c], edi
je 0x1a5363
mov edx, dword [ebx + 0x8c]
mov eax, dword [edx + 0xdc]
mov edx, dword [eax + 0x60]
mov eax, dword [edx]
mov edx, dword [eax + 0x40]
mov esi, dword [ebx + 0xec]
xor eax, eax
cmp esi, eax
ja 0x1a548f
jb 0x1a5341
mov eax, ebx
mov eax, dword [eax + 0xe8]
cmp eax, edx
jae 0x1a548f
test ecx, ecx
mov ebx, dword [esp + 0x1d0]
je 0x1a5363
mov ecx, dword [ebx + 0xf0]
mov eax, dword [0x4e73e0]
push ecx
call fcn.00069af0
mov dword [edi], 0
mov edx, dword [ebx + 0x8c]
mov eax, dword [edx + 0xdc]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x40]
mov edx, dword [0x4e73e0]
xor ecx, ecx
lea esi, [ebx + 0xe8]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [ebx + 0xf0], 0xe6f47cd7
mov dword [ebx + 0xf4], 0xe42ab537
cmp dword [edx + 0x868], 4
mov eax, esi
setne cl
sub ecx, 1
and ecx, 0x100
or ecx, 0x1010
push ecx
push 0x3e
mov ecx, edi
push 0xe6f47cd7
mov edi, edx
call fcn.00069140
test eax, eax
je 0x1a53e5
mov edx, dword [esp + 0x4c]
mov dword [ebx + 0xf4], 0
jmp 0x1a557f
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov esi, dword [0x4e73e0]
add eax, 0xffffffff
adc ecx, 0xffffffff
push ecx
push eax
mov eax, dword [esp + 0x1d8]
mov ebx, dword [eax + 0xf0]
mov edi, dword [eax + 0xf4]
push 0
push 0
push 0x20000000
push 2
call fcn.000690c0
test eax, eax
je 0x1a544b
mov edx, dword [esp + 0x1d0]
lea eax, [esp + 0x19c]
mov dword [edx + 0xf4], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0xc]
mov esi, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esi + 0xf4]
call fcn.00095bb0
test eax, eax
je 0x1a548f
lea eax, [esp + 0x19c]
mov dword [esi + 0xf4], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov ebx, dword [esp + 0x1d0]
mov ecx, dword [ebx + 0xf8]
test ecx, ecx
lea edi, [ebx + 0xf8]
mov dword [esp + 0x4c], edi
je 0x1a5502
mov eax, dword [ebx + 0xb0]
mov edx, dword [eax + 0xdc]
mov eax, dword [edx + 0x60]
mov edx, dword [eax]
mov esi, dword [ebx + 0x104]
mov edx, dword [edx + 0x40]
xor eax, eax
cmp esi, eax
ja 0x1a564a
jb 0x1a54e0
mov eax, ebx
mov eax, dword [eax + 0x100]
cmp eax, edx
jae 0x1a564a
test ecx, ecx
mov ebx, dword [esp + 0x1d0]
je 0x1a5502
mov ecx, dword [ebx + 0x108]
mov eax, dword [0x4e73e0]
push ecx
call fcn.00069af0
mov dword [edi], 0
mov edx, dword [ebx + 0xb0]
mov eax, dword [edx + 0xdc]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x40]
mov edx, dword [0x4e73e0]
xor ecx, ecx
lea esi, [ebx + 0x100]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [ebx + 0x108], 0x7168c36a
mov dword [ebx + 0x10c], 0xa5ba7db
cmp dword [edx + 0x868], 4
mov eax, esi
setne cl
sub ecx, 1
and ecx, 0x100
or ecx, 0x1010
push ecx
push 0x3e
mov ecx, edi
push 0x7168c36a
mov edi, edx
call fcn.00069140
test eax, eax
je 0x1a55a0
mov edx, dword [esp + 0x4c]
mov dword [ebx + 0x10c], 0
lea eax, [esp + 0x19c]
mov dword [edx], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov esi, dword [0x4e73e0]
add eax, 0xffffffff
adc ecx, 0xffffffff
push ecx
push eax
mov eax, dword [esp + 0x1d8]
mov ebx, dword [eax + 0x108]
mov edi, dword [eax + 0x10c]
push 0
push 0
push 0x20000000
push 2
call fcn.000690c0
test eax, eax
je 0x1a5606
mov edx, dword [esp + 0x1d0]
lea eax, [esp + 0x19c]
mov dword [edx + 0x10c], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0xc]
mov esi, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esi + 0x10c]
call fcn.00095bb0
test eax, eax
je 0x1a564a
lea eax, [esp + 0x19c]
mov dword [esi + 0x10c], 0
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
mov edi, dword [esp + 0x1d0]
mov eax, dword [edi + 0x6c]
mov ecx, dword [edi + eax*4 + 0x4c]
mov dword [esp + 0x20], ecx
lea edx, [eax - 1]
and edx, 3
mov ecx, dword [edi + edx*4 + 0x4c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
lea ecx, [eax - 2]
and ecx, 3
mov esi, dword [edi + ecx*4 + 0x4c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xa0], esi
lea esi, [eax + 1]
and esi, 3
cmp dword [esp + 0xf8], 0
mov ebx, dword [edi + esi*4 + 0x4c]
mov esi, dword [edi + esi*4 + 0x5c]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0x58], ebx
mov ebx, dword [edi + eax*4 + 0x5c]
mov dword [esp + 0x108], ebx
mov ebx, dword [edi + edx*4 + 0x5c]
mov dword [esp + 0x100], ebx
mov ebx, dword [edi + ecx*4 + 0x5c]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x1c0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], ebx
je 0x1a5756
mov edx, dword [edi + edx*4 + 0x4c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [edi + ecx*4 + 0x4c]
mov ecx, dword [edi + ecx*4 + 0x5c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0xa0], edx
and eax, 3
mov edx, dword [edi + eax*4 + 0x4c]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x108], edx
mov edx, dword [edi + eax*4 + 0x5c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], edx
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x8c]
mov ebx, dword [esp + 0x1d4]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0xa8]
mov dword [esp + 0x194], ecx
mov ecx, dword [edi + eax*4 + 0x98]
mov dword [esp + 0x50], ecx
lea ecx, [eax - 1]
mov eax, dword [edi + eax*4 + 0xa0]
and ecx, 1
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0xb0]
mov dword [esp + 0x104], edx
mov edx, dword [edi + ecx*4 + 0x98]
mov ecx, dword [edi + ecx*4 + 0xa0]
mov dword [esp + 0x18c], eax
mov eax, dword [ebx + 0x244]
test al, 1
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xac]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], edx
je 0x1a57ee
test al, 2
jne 0x1a57ee
mov ecx, dword [esp + 0x1e0]
mov dword [ecx + 0x38], 0
jmp 0x1a5803
mov edx, dword [esp + 0x1e0]
and al, 0x20
neg al
sbb eax, eax
neg eax
add eax, 1
mov dword [edx + 0x38], eax
test byte [edi], 2
je 0x1a5852
cmp dword [edi + 0x40], 3
jb 0x1a5852
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
mov esi, ebp
call fcn.001a0540
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1d8]
push eax
push ecx
push edx
call fcn.001a0a30
mov esi, dword [esp + 0x1dc]
mov dword [esp + 0x18], eax
jmp 0x1a5885
mov esi, dword [esp + 0x1dc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1d8]
push esi
push eax
push ecx
push ebx
mov ecx, ebp
call fcn.001b2690
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1d8]
push esi
push edx
push eax
push ebx
mov ecx, ebp
call fcn.001b2690
mov ecx, dword [edi + 0x6c]
mov edx, dword [edi + 0xa8]
mov eax, dword [edi + 0x40]
add ecx, 1
sub edx, 1
and ecx, 3
and edx, 1
cmp eax, 3
mov dword [edi + 0x6c], ecx
mov dword [edi + 0xa8], edx
jb 0x1a7a39
mov ecx, dword [esp + 0x1e4]
mov edx, dword [ecx + 0xc]
sub edx, dword [ecx + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
cmp edx, ecx
jg 0x1a58d3
test byte [ebx + 0x244], 2
je 0x1a7a34
mov eax, dword [ebp + 0x4c90]
test ah, 1
jne 0x1a5973
test al, al
js 0x1a5973
cmp dword [esp + 0x10], 0
je 0x1a5904
mov esi, dword [esp + 0x10]
call fcn.000ba910
mov edi, eax
test edi, edi
je 0x1a5906
xor ebx, ebx
jmp 0x1a590b
xor edi, edi
mov ebx, 1
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x14]
mov esi, eax
test esi, esi
je 0x1a5973
mov eax, dword [0x4e73e0]
test byte [eax + 0x2484], 0x20
je 0x1a594a
mov ecx, dword [esi + 0x358]
mov edx, dword [esi + 0x154]
mov dword [esi + ecx*4 + 0x158], edx
add dword [esi + 0x358], 1
xor ecx, ecx
mov eax, esi
call fcn.000b6350
test ebx, ebx
jne 0x1a595d
test edi, edi
je 0x1a595d
mov eax, dword [edi + 0x10]
push ebx
push eax
push edi
call fcn.000b27d0
mov ecx, dword [0x4e73e0]
test byte [ecx + 0x2484], 0x20
je 0x1a5973
mov eax, esi
call fcn.0006a0c0
mov esi, dword [esp + 0x10]
push 1
push esi
xor ecx, ecx
xor edi, edi
mov eax, ebp
call fcn.00108cb0
xor edx, edx
xor eax, eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
mov dword [esp + 0xac], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0xb8], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0xd0], edx
mov dword [esp + 0x150], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x154], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xd8], edx
mov dword [esp + 0x158], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0x15c], eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0x164], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x130], edx
mov dword [esp + 0x168], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0x134], edx
mov dword [esp + 0x110], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x138], edx
mov dword [esp + 0x114], eax
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x118], eax
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ecx
mov dword [esp + 0x140], edx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x144], edx
mov dword [esp + 0x188], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x124], eax
cmp dword [esp + 0xf4], eax
mov dword [esp + 0x148], edx
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x128], eax
mov dword [esp + 0x9c], edx
je 0x1a666a
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push edi
push 1
push edi
push edi
push 2
push 1
push edi
push esi
push edi
call dword [eax + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push edi
push 1
push edi
push edi
push 2
push 1
push edi
push eax
push 1
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 2
call dword [edx + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push edi
push 0x199
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov ebx, dword [esp + 0x30]
mov edx, dword [ecx]
push edi
push edi
push edi
push 2
push edi
push edi
push ebx
call dword [edx + 0x20]
fld dword [esp + 0x190]
fmul dword [0x41bca0]
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1b0]
add eax, 0xfffffff0
movsx eax, ax
fst dword [esp + 0x24]
fsub dword [0x41bc48]
cdq
and edx, 7
add eax, edx
mov edi, eax
add ecx, 0xfffffff0
movsx eax, cx
mov ecx, dword [ebp + 0x4c80]
cdq
fstp dword [esp + 0x7c]
and edx, 3
fld dword [esp + 0x28]
add eax, edx
fmul dword [0x41bc8c]
mov esi, eax
lea eax, [esp + 0xc8]
push 0
fst dword [esp + 0x20]
mov dword [esp + 0x60], 0x40000000
fsub dword [0x41bf40]
mov dword [esp + 0xac], 0x40800000
sar edi, 3
fstp dword [esp + 0xcc]
mov edx, dword [ecx]
push eax
sar esi, 2
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x6c]
push eax
push edi
push esi
push 0
push 0
push 1
call dword [edx + 0x34]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
push 2
push 0
push 0
push 2
push 1
push 0
push ebx
push 0
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 1
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x19a
call dword [edx + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [esp + 0x194]
mov eax, dword [ecx]
push 0
push 0
push 0
push 2
push 0
push 0
push edx
call dword [eax + 0x20]
lea eax, [esi + 7]
cdq
and edx, 7
add eax, edx
mov esi, eax
lea eax, [edi + 7]
cdq
and edx, 7
add eax, edx
sar esi, 3
sar eax, 3
movsx ecx, si
movsx edx, ax
push 0
add ecx, ecx
add edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0x4c80]
lea ebx, [esp + 0xcc]
fild dword [esp + 0x30]
push ebx
add edx, edx
lea ebx, [esp + 0x84]
push ebx
fstp dword [esp + 0x88]
add edx, edx
mov dword [esp + 0x38], edx
lea ebx, [esp + 0xb4]
push ebx
fild dword [esp + 0x3c]
lea ebx, [esp + 0x6c]
push ebx
mov dword [esp + 0x70], 0
fstp dword [esp + 0xdc]
mov dword [esp + 0xbc], 0
mov edx, dword [ecx]
mov dword [esp + 0x44], esi
push eax
push esi
push 0
push 0
push 1
call dword [edx + 0x34]
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2520]
mov esi, dword [ecx + 0x21d0]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
sub esi, 6
push 0
neg esi
push 1
sbb esi, esi
push 0
and esi, 2
cmp dword [esp + 0x58], 0
push esi
push 1
push 0
je 0x1a5d95
mov eax, dword [esp + 0x2c]
push eax
push 0
call dword [edx + 0x28]
mov eax, dword [esp + 0x38]
jmp 0x1a5da3
mov eax, dword [esp + 0x54]
push eax
push 0
call dword [edx + 0x28]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
push 0
push 1
push 0
push esi
push 1
push 0
push eax
push 1
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 2
call dword [edx + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0x19b
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x104]
mov edx, dword [ecx]
push 0
push 0
push 0
push esi
push 0
push 0
push eax
call dword [edx + 0x20]
fld dword [esp + 0x24]
fsub dword [0x41bc8c]
mov eax, dword [esp + 0xa4]
mov ecx, dword [ebp + 0x4c80]
cdq
fstp dword [esp + 0x7c]
and edx, 7
fld dword [esp + 0x1c]
add eax, edx
fsub dword [0x41c310]
mov ebx, eax
push 0
lea eax, [esp + 0x110]
fst dword [esp + 0xcc]
push eax
fld dword [esp + 0x2c]
lea eax, [esp + 0x134]
fsub dword [0x41c0b4]
push eax
lea eax, [esp + 0x178]
push eax
fstp dword [esp + 0x13c]
lea eax, [esp + 0x15c]
fst dword [esp + 0x11c]
push eax
fld dword [esp + 0x38]
lea eax, [esp + 0xdc]
fadd dword [0x41bc8c]
mov dword [esp + 0x70], 0xbf000000
mov dword [esp + 0xbc], 0x3f000000
mov dword [esp + 0x160], 0xbfc00000
fstp dword [esp + 0x94]
mov dword [esp + 0x180], 0x3f000000
fst dword [esp + 0xe0]
mov dword [esp + 0x74], 0x3f000000
fld dword [esp + 0x38]
mov dword [esp + 0xc0], 0x3f000000
fadd dword [0x41c0b4]
mov dword [esp + 0x164], 0x3fc00000
mov dword [esp + 0x184], 0x3f000000
sar ebx, 3
fstp dword [esp + 0x144]
push eax
fstp dword [esp + 0x128]
mov edx, dword [ecx]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x7c]
push eax
push edi
push ebx
push 0
push 0
push 2
call dword [edx + 0x38]
cmp dword [esp + 0x198], 0
je 0x1a6527
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push eax
push 0
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
call dword [edx + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0x19c
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x50]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push eax
call dword [edx + 0x20]
mov edx, dword [esp + 0x1c]
push 0
mov dword [esp + 0xcc], edx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0xcc]
push eax
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0xb4]
push eax
mov eax, dword [esp + 0xf8]
lea edx, [esp + 0x6c]
push edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esp + 0xbc]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
push 0
mov dword [esp + 0x9c], ecx
mov ecx, dword [ebp + 0x4c80]
push 0
mov dword [esp + 0x80], 0
mov dword [esp + 0xcc], 0
mov esi, dword [ecx]
push 1
call dword [esi + 0x34]
mov edx, dword [esp + 0x50]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 1
push 1
push 0
push 0
push 2
push 1
push 0
push edx
push 0
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 1
mov edx, dword [esp + 0x18]
push 1
push 0
push 0
push 2
push 1
push 0
push edx
push 1
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 2
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x19d
call dword [edx + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx]
push 0
push 0
push 0
push 2
push 0
push 0
push edx
call dword [eax + 0x20]
fld dword [esp + 0x24]
fsub dword [0x41bc3c]
mov ecx, dword [ebp + 0x4c80]
push 0
mov dword [esp + 0x60], 0xbf800000
fst dword [esp + 0x80]
mov dword [esp + 0xac], 0xc0000000
fld dword [esp + 0x20]
mov dword [esp + 0x150], 0x3f800000
fsub dword [0x41bc48]
mov dword [esp + 0x170], 0xc0000000
mov dword [esp + 0x64], 0xbf800000
mov dword [esp + 0xb0], 0x40000000
fst dword [esp + 0xcc]
mov dword [esp + 0x154], 0x3f800000
fld dword [esp + 0x28]
mov dword [esp + 0x174], 0x40000000
fadd dword [0x41bc3c]
fst dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x130]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xec]
fstp dword [esp + 0x110]
cdq
and edx, 7
fstp dword [esp + 0x84]
fld dword [esp + 0x20]
add eax, edx
fadd dword [0x41bc48]
mov esi, eax
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0x134]
fst dword [esp + 0xd4]
push eax
fstp dword [esp + 0x11c]
mov edx, dword [ecx]
lea eax, [esp + 0x178]
push eax
lea eax, [esp + 0x15c]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x7c]
sar esi, 3
push eax
push esi
push ebx
push 0
push 0
push 2
call dword [edx + 0x38]
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
push 0
push 0
push 0
push 2
push 1
push 0
push eax
push 0
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
call dword [edx + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0x19e
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x54]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push eax
call dword [edx + 0x20]
lea eax, [ebx + 3]
and al, 0xfc
mov dword [esp + 0x5c], 0xbf800000
mov dword [esp + 0xa8], 0xbf800000
mov dword [esp + 0x14c], 0
mov dword [esp + 0x16c], 0xbf800000
mov dword [esp + 0x60], 0x3f800000
mov dword [esp + 0xac], 0xbf800000
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
mov dword [esp + 0x150], 0xbf800000
mov dword [esp + 0x170], 0
mov dword [esp + 0x64], 0
fst dword [esp + 0x2c]
mov dword [esp + 0xb0], 0
fmul dword [0x41bca0]
mov dword [esp + 0x154], 0x3f800000
fld dword [0x41bc3c]
mov dword [esp + 0x174], 0
fsubr st(1)
fst dword [esp + 0x7c]
fld dword [esp + 0x28]
fmul dword [0x41bf38]
fst dword [esp + 0x18]
fsub dword [0x41bc3c]
mov ecx, dword [esp + 0x18]
mov edx, ecx
mov dword [esp + 0x110], ecx
fst dword [esp + 0xc8]
mov dword [esp + 0xd0], edx
fld st(2)
fstp dword [esp + 0x12c]
fst dword [esp + 0x10c]
fld st(2)
fadd dword [0x41bc3c]
fst dword [esp + 0x44]
mov eax, dword [esp + 0x44]
fstp dword [esp + 0x80]
fstp dword [esp + 0xcc]
fst dword [esp + 0x130]
fld st(1)
fstp dword [esp + 0x84]
push 0
fstp dword [esp + 0x8c]
fld dword [esp + 0x1c]
mov edx, eax
fadd dword [0x41bc3c]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x110]
push edx
fst dword [esp + 0xdc]
mov dword [esp + 0x13c], eax
fst dword [esp + 0x40]
lea edx, [esp + 0x134]
push edx
fxch st(1)
fstp dword [esp + 0x144]
mov dword [esp + 0x120], ecx
mov ecx, dword [ebp + 0x4c80]
fst dword [esp + 0x124]
lea edx, [esp + 0x178]
push edx
fstp dword [esp + 0xe8]
mov dword [esp + 0x78], 0xbf800000
mov dword [esp + 0xc4], 0x3f800000
mov dword [esp + 0x168], 0
mov dword [esp + 0x188], 0x3f800000
mov dword [esp + 0x7c], 0x3f800000
mov dword [esp + 0xc8], 0x3f800000
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
lea edx, [esp + 0x15c]
push edx
add ebx, 3
lea edx, [esp + 0xdc]
push edx
movsx eax, bx
and al, 0xfc
lea edx, [esp + 0x94]
push edx
lea edx, [esp + 0xc4]
push edx
lea edx, [esp + 0x7c]
push edx
cdq
and edx, 3
push esi
add eax, edx
sar eax, 2
push eax
mov eax, dword [esp + 0x40]
push 0
push 0
push 5
call dword [eax + 0x38]
mov edx, dword [esp + 0x104]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 0
call dword [eax + 0x28]
mov edx, dword [esp + 0x54]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 1
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 2
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x19f
call dword [edx + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov esi, dword [esp + 0x18c]
mov eax, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push esi
call dword [eax + 0x20]
fld dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
fmul dword [0x41bca0]
push 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x110], edx
fst dword [esp + 0x80]
lea eax, [esp + 0x110]
fstp dword [esp + 0x130]
push eax
lea edx, [esp + 0x134]
push edx
lea eax, [esp + 0x178]
push eax
lea edx, [esp + 0x15c]
push edx
lea eax, [esp + 0xdc]
push eax
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0xc4]
push eax
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x7c]
push edx
cdq
and edx, 3
push edi
add eax, edx
sar eax, 2
push eax
push 0
mov dword [esp + 0xf8], ecx
mov ecx, dword [ebp + 0x4c80]
push 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x1a0], 0x3f800000
mov ebx, dword [ecx]
push 1
call dword [ebx + 0x38]
jmp 0x1a652e
mov esi, dword [esp + 0x18c]
mov eax, dword [0x4e73e0]
test byte [eax + 0x2484], 0x20
je 0x1a654f
lea edi, [eax + 8]
mov eax, edi
call fcn.0006a180
xor ecx, ecx
mov eax, edi
call fcn.000b6350
mov ebx, dword [esp + 0x194]
mov edi, dword [ebx + 0xdc]
mov ecx, ebx
call fcn.00091310
imul eax, dword [edi]
push 0
mov dword [esp + 0x18], eax
push 0
mov eax, ebx
call fcn.00069fd0
push edx
mov edx, dword [edi + 0x60]
push eax
mov eax, dword [esp + 0x1e0]
mov ecx, dword [eax + 0xdc]
mov eax, dword [edx + 0x88]
push ecx
and eax, 0xff
call fcn.00074240
push eax
mov eax, dword [esp + 0x2c]
call fcn.000c7610
mov ebx, dword [esp + 0x104]
mov edi, dword [ebx + 0xdc]
mov eax, dword [edi]
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.00091310
imul eax, dword [esp + 0x18]
push 0
mov dword [esp + 0x18], eax
push 0
mov eax, ebx
call fcn.00069fd0
mov ebx, dword [esp + 0x1d8]
mov ecx, dword [ebx + 0xf4]
push edx
mov edx, dword [edi + 0x60]
push eax
mov eax, dword [edx + 0x88]
push ecx
and eax, 0xff
call fcn.00074240
push eax
mov eax, dword [esp + 0x2c]
call fcn.000c7610
cmp dword [esp + 0x198], 0
je 0x1a6654
mov edi, dword [esi + 0xdc]
mov eax, dword [edi]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00091310
imul eax, dword [esp + 0x18]
push 0
mov dword [esp + 0x18], eax
push 0
mov eax, esi
call fcn.00069fd0
mov ecx, dword [ebx + 0x10c]
push edx
mov edx, dword [edi + 0x60]
push eax
mov eax, dword [edx + 0x88]
push ecx
and eax, 0xff
call fcn.00074240
push eax
mov eax, dword [esp + 0x2c]
call fcn.000c7610
mov eax, dword [0x4e73e0]
test byte [eax + 0x2484], 0x20
je 0x1a666a
add eax, 8
call fcn.0006a0c0
cmp dword [esp + 0x40], 0
je 0x1a682f
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2520]
mov esi, dword [ecx + 0x21d0]
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
sub esi, 6
push 0
neg esi
push 0
sbb esi, esi
and esi, 2
push esi
push 0
push 0
push eax
push 0
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
call dword [edx + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0x197
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov ebx, dword [esp + 0x9c]
mov edx, dword [ecx]
push 0
push 0
push 0
push esi
push 1
push 0
push ebx
call dword [edx + 0x20]
call fcn.001adea0
mov ecx, ebx
mov esi, eax
call fcn.00091310
cmp dword [esp + 0x48], 0
mov edi, eax
je 0x1a670b
fld qword [0x41bcb0]
jmp 0x1a6711
fld qword [0x41bc60]
fstp dword [esp + 0x10]
mov ecx, ebx
fld dword [esp + 0x10]
mov dword [esp + 0x5c], 0xbfc00000
fchs
fstp dword [esp + 0xa8]
call fcn.00091370
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a6743
fadd dword [0x41bc68]
fsub dword [0x41c0b4]
mov ecx, ebx
fstp dword [esp + 0x7c]
call fcn.00091310
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a6766
fadd dword [0x41bc68]
fsub dword [esp + 0x10]
mov ecx, ebx
mov dword [esp + 0x14c], 0xbfc00000
fstp dword [esp + 0xc8]
fld dword [0x41bc3c]
fsub dword [esp + 0x10]
fstp dword [esp + 0x16c]
call fcn.00091370
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a67a6
fadd dword [0x41bc68]
fsub dword [0x41c0b4]
mov ecx, ebx
fstp dword [esp + 0x12c]
call fcn.00091310
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a67cc
fadd dword [0x41bc68]
push 0
fadd dword [0x41bc3c]
mov ecx, dword [ebp + 0x4c80]
lea edx, [esp + 0x110]
push edx
fsub dword [esp + 0x18]
lea edx, [esp + 0x134]
push edx
lea edx, [esp + 0x178]
fstp dword [esp + 0x118]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x15c]
push edx
lea edx, [esp + 0xdc]
push edx
lea edx, [esp + 0x94]
push edx
lea edx, [esp + 0xc4]
push edx
lea edx, [esp + 0x7c]
push edx
push edi
push esi
push 0
push 0
push 1
call dword [eax + 0x38]
mov edx, dword [esp + 0x1d0]
mov ecx, dword [edx + 0x6c]
push 0
push 0
mov eax, ecx
push 0
add ecx, 0xffffffff
and ecx, 1
mov edi, dword [edx + ecx*4 + 0x74]
push 0
and eax, 1
mov esi, dword [edx + eax*4 + 0x74]
push 2
mov dword [esp + 0x40], edi
mov edi, dword [edx + eax*4 + 0x7c]
mov eax, dword [edx + ecx*4 + 0x7c]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
push 0
push eax
push 0
mov dword [esp + 0x5c], esi
call dword [edx + 0x28]
mov eax, dword [esp + 0xf0]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push eax
push 1
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 2
call dword [edx + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0x1a4
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push esi
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0x4b
call dword [eax + 0x24]
fld dword [esp + 0x190]
fmul dword [0x41bca0]
mov eax, dword [esp + 0xe8]
cdq
sub eax, edx
fst dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0xa4]
fstp dword [esp + 0x7c]
fld dword [esp + 0x28]
sar esi, 1
fmul dword [0x41bc8c]
cdq
mov dword [esp + 0x5c], 0
mov dword [esp + 0xa8], 0
fst dword [esp + 0x1c]
mov dword [esp + 0x44], esi
fstp dword [esp + 0xc8]
and edx, 3
mov ecx, dword [ebp + 0x4c80]
push 0
lea ebx, [esp + 0xcc]
push ebx
lea ebx, [esp + 0x84]
push ebx
lea ebx, [esp + 0xb4]
push ebx
add eax, edx
mov edx, dword [ecx]
lea ebx, [esp + 0x6c]
push ebx
push esi
sar eax, 2
push eax
push 0
push 0
push 1
mov dword [esp + 0x118], eax
call dword [edx + 0x34]
mov eax, dword [ebp + 0x4c90]
test ah, 1
jne 0x1a6a23
test al, al
js 0x1a6a23
mov esi, dword [esp + 0x1e0]
or al, 0x80
mov dword [ebp + 0x4c90], eax
call fcn.000ba910
mov edx, dword [ebp]
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
mov ecx, ebp
mov dword [esp + 0x14], eax
call dword [edx + 0x14]
mov esi, eax
test esi, esi
je 0x1a6a23
mov eax, dword [0x4e73e0]
test byte [eax + 0x2484], 0x20
je 0x1a69f6
mov ecx, dword [esi + 0x358]
mov edx, dword [esi + 0x154]
mov dword [esi + ecx*4 + 0x158], edx
add dword [esi + 0x358], 1
xor ecx, ecx
mov eax, esi
call fcn.000b6350
cmp dword [esp + 0x14], 0
jne 0x1a6a0d
test ebx, ebx
je 0x1a6a0d
mov eax, dword [ebx + 0x10]
push 0
push eax
push ebx
call fcn.000b27d0
mov ecx, dword [0x4e73e0]
test byte [ecx + 0x2484], 0x20
je 0x1a6a23
mov eax, esi
call fcn.0006a0c0
cmp dword [esp + 0x1bc], 0
je 0x1a6d46
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0x1b0]
push edx
mov edx, dword [esp + 0x1c8]
push eax
mov eax, dword [esp + 0x1c8]
push ecx
mov ecx, dword [esp + 0x114]
push edi
push edx
push eax
push esi
push ecx
mov ecx, dword [esp + 0x1d8]
mov eax, ebp
call fcn.001ad860
mov eax, dword [esp + 0x1dc]
mov edi, dword [esp + 0x1e4]
mov ecx, dword [eax]
mov edx, dword [edi + 8]
mov eax, dword [eax + 8]
sub edx, dword [edi]
sub eax, ecx
cmp eax, edx
mov ebx, 1
jne 0x1a6aa2
test cl, 3
jne 0x1a6aa2
test al, 3
je 0x1a6aa4
xor ebx, ebx
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 1
push 1
push 2
push ebx
push 0
push esi
push 0
call dword [eax + 0x28]
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 1
push 2
push ebx
push 0
push eax
push 1
call dword [edx + 0x28]
mov eax, dword [ebp + 0x4ca8]
test eax, eax
je 0x1a6b04
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push 4
push 0
push 0
push eax
push 2
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 3
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0xec]
mov edx, dword [ecx]
push 0
push 0
push 1
push 2
push ebx
push 0
push eax
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x18a
call dword [edx + 0x14]
mov eax, dword [esp + 0x1dc]
fild dword [eax]
mov esi, dword [esp + 0xfc]
mov eax, esi
fstp dword [esp + 0x5c]
call fcn.000912b0
mov edx, dword [esp + 0x1dc]
mov ecx, eax
mov eax, dword [edx + 4]
xor edx, edx
div ecx
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a6b7e
fadd dword [0x41bc68]
mov eax, dword [esp + 0x1dc]
fstp dword [esp + 0xa8]
fild dword [eax + 8]
mov eax, esi
fstp dword [esp + 0x7c]
call fcn.000912b0
mov edx, dword [esp + 0x1dc]
mov ecx, eax
mov eax, dword [edx + 0xc]
xor edx, edx
div ecx
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a6bbc
fadd dword [0x41bc68]
mov eax, dword [esp + 0x1d8]
fstp dword [esp + 0xc8]
fild dword [eax]
mov eax, esi
fstp dword [esp + 0x60]
call fcn.000912b0
mov edx, dword [esp + 0x1d8]
mov ecx, eax
mov eax, dword [edx + 4]
xor edx, edx
div ecx
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a6bf9
fadd dword [0x41bc68]
mov eax, dword [esp + 0x1d8]
fstp dword [esp + 0xac]
fild dword [eax + 8]
mov eax, esi
fstp dword [esp + 0x80]
call fcn.000912b0
mov edx, dword [esp + 0x1d8]
mov ecx, eax
mov eax, dword [edx + 0xc]
xor edx, edx
div ecx
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1a6c3a
fadd dword [0x41bc68]
mov ax, word [edi]
fstp dword [esp + 0xcc]
mov word [esp + 0x10], ax
mov eax, esi
call fcn.000912b0
mov ecx, eax
mov eax, dword [edi + 4]
xor edx, edx
div ecx
mov dx, word [edi + 8]
mov word [esp + 0x30], dx
mov dword [esp + 0x14], eax
mov eax, esi
call fcn.000912b0
mov ecx, eax
mov eax, dword [edi + 0xc]
xor edx, edx
div ecx
cmp ebx, 1
jne 0x1a6cc5
fld dword [esp + 0x5c]
sar word [esp + 0x10], 2
fmul dword [0x41bca0]
sar word [esp + 0x30], 2
fstp dword [esp + 0x5c]
fld dword [esp + 0x7c]
fmul dword [0x41bca0]
fstp dword [esp + 0x7c]
fld dword [esp + 0x60]
fmul dword [0x41bca0]
fstp dword [esp + 0x60]
fld dword [esp + 0x80]
fmul dword [0x41bca0]
fstp dword [esp + 0x80]
cmp dword [esp + 0x48], 0
je 0x1a6cf4
fld dword [esp + 0xac]
fadd dword [0x41bc3c]
fstp dword [esp + 0xac]
fld dword [esp + 0xcc]
fadd dword [0x41bc3c]
fstp dword [esp + 0xcc]
mov ecx, dword [ebp + 0x4c80]
push 0
mov edx, dword [ecx]
lea esi, [esp + 0xcc]
push esi
lea esi, [esp + 0x84]
push esi
lea esi, [esp + 0xb4]
push esi
lea esi, [esp + 0x6c]
push esi
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x30]
push eax
push 2
call dword [edx + 0x34]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0xec]
mov dword [ecx + 0x14c], edx
jmp 0x1a6d7a
mov eax, dword [esp + 0x1e4]
mov esi, dword [esp + 0xec]
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x100]
push eax
push esi
push ecx
push edx
mov ecx, ebp
call fcn.001b2690
mov eax, dword [esp + 0x1e0]
mov dword [eax + 0x14c], esi
cmp dword [esp + 0xf4], 0
je 0x1a6f3c
call fcn.0010cb10
mov esi, dword [esp + 0x194]
mov ecx, esi
call fcn.00091310
mov ecx, esi
mov edi, eax
call fcn.00091370
mov ecx, dword [esp + 0x1d0]
mov edx, dword [ecx + 0xc8]
xor esi, esi
test edx, edx
mov dword [esp + 0xfc], esi
je 0x1a6e8a
test edi, edi
jle 0x1a6ded
xor ecx, ecx
test eax, eax
jle 0x1a6ddd
lea esp, [esp]
movzx ebx, byte [edx + ecx]
add ecx, 1
add esi, ebx
cmp ecx, eax
jl 0x1a6dd0
add edx, dword [esp + 0x18]
sub edi, 1
jne 0x1a6dc6
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x104]
mov edx, dword [esi + 0xdc]
mov eax, dword [edx]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00091310
mov ecx, esi
mov edi, eax
call fcn.00091370
mov ecx, dword [esp + 0x1d0]
mov edx, dword [ecx + 0xe0]
xor ebx, ebx
test edx, edx
je 0x1a6e8a
test edi, edi
jle 0x1a6e46
xor ecx, ecx
test eax, eax
jle 0x1a6e3d
lea ecx, [ecx]
movzx esi, byte [edx + ecx]
add ecx, 1
add ebx, esi
cmp ecx, eax
jl 0x1a6e30
add edx, dword [esp + 0x18]
sub edi, 1
jne 0x1a6e27
cmp dword [esp + 0x198], 0
je 0x1a6eed
mov esi, dword [esp + 0x18c]
mov edx, dword [esi + 0xdc]
mov eax, dword [edx]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00091310
mov ecx, esi
mov edi, eax
call fcn.00091370
mov ecx, dword [esp + 0x1d0]
mov edx, dword [ecx + 0xf8]
xor esi, esi
test edx, edx
jne 0x1a6ebc
mov edi, dword [esp + 0x1e0]
push 1
push 0
mov ecx, 2
mov eax, ebp
call fcn.00108cb0
lea eax, [esp + 0x19c]
call fcn.00095b90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
test edi, edi
jle 0x1a6eef
mov dword [esp + 0xf4], edi
xor ecx, ecx
test eax, eax
jle 0x1a6edd
lea ecx, [ecx]
movzx edi, byte [edx + ecx]
add ecx, 1
add esi, edi
cmp ecx, eax
jl 0x1a6ed0
add edx, dword [esp + 0x18]
sub dword [esp + 0xf4], 1
jne 0x1a6ec7
jmp 0x1a6eef
mov esi, ebx
cmp dword [esp + 0x1b4], 0
mov edx, 0x4e5f18
jne 0x1a6f03
mov edx, 0x4e5f3c
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0xfc]
push eax
mov eax, dword [esp + 0xec]
push esi
push ebx
push ecx
mov ecx, dword [esp + 0xb4]
push ebp
call fcn.001acc50
test eax, eax
je 0x1a6f3e
mov ecx, dword [0x4e73e0]
add dword [ecx + 0x20b8], 1
jmp 0x1a6f3e
xor eax, eax
add eax, 0xffffffff
cmp eax, 5
ja case.0x1a6f4a.2
jmp dword [eax*4 + 0x1a7a98]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x58], edx
jmp 0x1a77e0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
jmp 0x1a77e0
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0xa0]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x44]
push 1
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edi
push edx
push eax
mov eax, ebp
call fcn.001acde0
jmp 0x1a77e0
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0xa0]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x44]
push 2
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edi
push edx
push eax
mov eax, ebp
call fcn.001acde0
jmp 0x1a77e0
cmp dword [esp + 0x40], 0
mov edi, dword [esp + 0x3c]
push 0
push 0
push 0
push 0
push 2
jne 0x1a7329
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 1
push 0
push edi
push 0
call dword [edx + 0x28]
mov edx, dword [esp + 0xa0]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 1
call dword [eax + 0x28]
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 2
call dword [eax + 0x28]
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 3
call dword [eax + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 4
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 5
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x58]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push eax
call dword [edx + 0x20]
mov esi, dword [esp + 0xf8]
test esi, esi
mov ecx, dword [ebp + 0x4c80]
push 0
je 0x1a70fe
mov edx, dword [ecx]
push 0x1a1
call dword [edx + 0x14]
jmp 0x1a7108
mov eax, dword [ecx]
push 0x1a0
call dword [eax + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
xor eax, eax
cmp dword [esp + 0x48], eax
mov dword [esp + 0x5c], 0
setne al
mov dword [esp + 0xa8], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xc8], edx
mov dword [esp + 0x60], 0
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a7151
fadd dword [0x41bc68]
mov ecx, dword [esp + 0x24]
fld st(0)
fchs
xor eax, 1
test eax, eax
fst dword [esp + 0xf8]
fstp dword [esp + 0xac]
mov dword [esp + 0x34], eax
mov dword [esp + 0x80], ecx
fsubr dword [esp + 0x1c]
mov dword [esp + 0x150], 0
fst dword [esp + 0xcc]
fild dword [esp + 0x34]
jge 0x1a7199
fadd dword [0x41bc68]
test esi, esi
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fadd dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x170], edx
mov edx, eax
fstp dword [esp + 0x54]
mov dword [esp + 0x130], eax
fld dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
fsub dword [0x41bc3c]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0xb0], 0xbf800000
fstp dword [esp + 0xd0]
mov dword [esp + 0x84], edx
fld dword [esp + 0x1c]
mov dword [esp + 0x154], 0
fadd dword [0x41bc3c]
mov dword [esp + 0x174], 0x3f800000
mov dword [esp + 0x134], eax
fstp dword [esp + 0x114]
je 0x1a72d0
fld dword [esp + 0x24]
mov ecx, dword [esp + 0xf8]
fadd dword [0x41bc3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x68], 0x3f800000
fst dword [esp + 0x88]
mov dword [esp + 0xb4], ecx
fld st(1)
mov dword [esp + 0x158], 0xbf800000
fstp dword [esp + 0xd4]
mov dword [esp + 0x178], edx
fld dword [esp + 0x24]
mov dword [esp + 0x118], eax
fsub dword [0x41bc3c]
mov dword [esp + 0x6c], 0xbf800000
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x15c], 0x3f800000
fst dword [esp + 0x138]
mov dword [esp + 0x17c], edx
fstp dword [esp + 0x8c]
mov dword [esp + 0x11c], eax
fxch st(1)
fstp dword [esp + 0xd8]
fstp dword [esp + 0x13c]
jmp 0x1a72d2
fstp st(0)
push 0
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0x134]
push eax
lea eax, [esp + 0x178]
push eax
lea eax, [esp + 0x15c]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x118]
push eax
push 0
push 0
push 3
jmp 0x1a77d5
mov ecx, dword [0x4e73e0]
mov edx, dword [ecx + 0x2520]
mov eax, dword [edx + 0x21d0]
mov ecx, dword [ebp + 0x4c80]
mov esi, eax
sub esi, 6
push 0
neg esi
sbb esi, esi
push 0
xor ebx, ebx
push edi
and esi, 2
cmp eax, 6
mov eax, dword [ecx]
push 0
setne bl
call dword [eax + 0x28]
mov eax, dword [esp + 0xa0]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push ebx
push 0
push eax
push 1
call dword [edx + 0x28]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push ebx
push 0
push eax
push 2
call dword [edx + 0x28]
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push ebx
push 0
push eax
push 3
call dword [edx + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push ebx
push 0
push eax
push 4
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push esi
mov esi, dword [esp + 0xb0]
push 0
push 0
push esi
push 5
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 6
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x58]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push ebx
push 0
push eax
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x1a5
call dword [edx + 0x14]
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2520]
xor ebx, ebx
cmp dword [esp + 0x48], ebx
setne bl
cmp dword [ecx + 0x21d0], 6
jne 0x1a7461
fld dword [0x41bc3c]
jmp 0x1a7467
fld dword [0x41bf40]
fld st(0)
call fcn.003f4770
fld dword [esp + 0x190]
movsx ecx, ax
fdiv st(1)
mov eax, dword [esp + 0xa4]
cdq
idiv ecx
test ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0xa8], 0
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fstp st(0)
mov dword [esp + 0x7c], edx
fild dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc8], eax
jge 0x1a74c6
fadd dword [0x41bc68]
fld dword [0x41bc8c]
mov ecx, dword [esp + 0x28]
fsub st(1)
mov edx, dword [esp + 0x20]
xor ebx, 1
test ebx, ebx
fstp dword [esp + 0x14c]
mov dword [esp + 0x34], ebx
fld dword [esp + 0x20]
mov dword [esp + 0x16c], 0
fadd dword [0x41bc8c]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x80], edx
fsub st(1)
mov dword [esp + 0x150], 0
fstp dword [esp + 0x12c]
fld st(0)
fchs
fstp dword [esp + 0xac]
fld dword [esp + 0x1c]
fsub st(1)
fstp dword [esp + 0xcc]
fstp st(0)
fild dword [esp + 0x34]
jge 0x1a754b
fadd dword [0x41bc68]
cmp dword [esp + 0x48], 0
fst dword [esp + 0x170]
fadd dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x130], eax
fstp dword [esp + 0x110]
je 0x1a7577
fld qword [0x41bcb0]
jmp 0x1a757d
fld qword [0x41bc60]
mov ecx, dword [0x4e73e0]
fstp dword [esp + 0x28]
mov edx, dword [ecx + 0x2520]
cmp dword [edx + 0x21d0], 6
jne 0x1a75ff
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
fsub dword [0x41bc3c]
mov ecx, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x64], 0
fstp dword [esp + 0xd0]
mov dword [esp + 0xb0], 0xbf800000
fld dword [esp + 0x1c]
mov dword [esp + 0x154], 0
fadd dword [0x41bc3c]
mov dword [esp + 0x174], 0x3f800000
mov dword [esp + 0x134], ecx
mov eax, 3
fstp dword [esp + 0x114]
jmp 0x1a7787
fld dword [esp + 0x28]
mov ecx, edi
fchs
mov dword [esp + 0x64], 0xbfc00000
fstp dword [esp + 0xb0]
call fcn.00091370
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a762d
fadd dword [0x41bc68]
fsub dword [0x41c0b4]
mov ecx, edi
fstp dword [esp + 0x84]
call fcn.00091310
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a7653
fadd dword [0x41bc68]
fsub dword [esp + 0x28]
mov ecx, edi
mov dword [esp + 0x154], 0xbfc00000
fstp dword [esp + 0xd0]
fld dword [0x41bc3c]
fsub dword [esp + 0x28]
fstp dword [esp + 0x174]
call fcn.00091370
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a7693
fadd dword [0x41bc68]
fsub dword [0x41c0b4]
mov ecx, edi
fstp dword [esp + 0x134]
call fcn.00091310
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a76b9
fadd dword [0x41bc68]
fadd dword [0x41bc3c]
mov ecx, esi
mov dword [esp + 0x68], 0xbfc00000
mov dword [esp + 0xb4], 0
fsub dword [esp + 0x28]
fstp dword [esp + 0x114]
call fcn.00091370
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a76f6
fadd dword [0x41bc68]
fsub dword [0x41c0b4]
mov ecx, esi
fstp dword [esp + 0x88]
call fcn.00091310
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x1a771c
fadd dword [0x41bc68]
mov edx, dword [esp + 0x20]
fstp dword [esp + 0xd4]
fld dword [esp + 0x1c]
mov eax, edx
fsub dword [0x41bc3c]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0xb8], 0xbf800000
fstp dword [esp + 0xd8]
mov dword [esp + 0x8c], edx
fld dword [esp + 0x1c]
mov dword [esp + 0x15c], 0
fadd dword [0x41bc3c]
mov dword [esp + 0x17c], 0x3f800000
mov eax, 5
fstp dword [esp + 0x11c]
push 0
lea esi, [esp + 0x110]
push esi
lea esi, [esp + 0x134]
push esi
lea esi, [esp + 0x178]
push esi
lea esi, [esp + 0x15c]
push esi
lea esi, [esp + 0xdc]
push esi
lea esi, [esp + 0x94]
push esi
lea esi, [esp + 0xc4]
push esi
lea esi, [esp + 0x7c]
push esi
mov esi, dword [esp + 0x68]
push esi
mov esi, dword [esp + 0x58]
push esi
push 0
push 0
push eax
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
call dword [edx + 0x38]
mov ebx, dword [esp + 0x1dc]
mov edx, dword [ebx]
mov esi, dword [esp + 0x1e4]
mov eax, dword [ebx + 8]
mov ecx, dword [esi]
sub eax, edx
mov edx, dword [esi + 8]
sub edx, ecx
cmp eax, edx
mov dword [esp + 0x28], 1
jne 0x1a7826
test byte [ebx], 3
jne 0x1a7826
test al, 3
jne 0x1a7826
mov ecx, dword [esp + 0x1e0]
call fcn.00091370
test al, 3
jne 0x1a7826
test byte [esi], 3
je 0x1a782e
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 1
push 0
push 2
push edx
push 0
push edi
push 0
call dword [eax + 0x28]
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 1
push 0
push 2
push edx
mov edx, dword [esp + 0x70]
push 0
push edx
push 1
call dword [eax + 0x28]
mov eax, dword [ebp + 0x4ca8]
test eax, eax
je 0x1a7896
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push 4
push 0
push 0
push eax
push 2
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 3
call dword [eax + 0x30]
mov edi, dword [esp + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x1e0]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push edi
push 0
push eax
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x18a
call dword [edx + 0x14]
fild dword [ebx]
cmp edi, 1
mov eax, dword [esp + 0x1d8]
fstp dword [esp + 0x5c]
mov cx, word [esi + 8]
fild dword [ebx + 4]
mov word [esp + 0x30], cx
fstp dword [esp + 0xa8]
fild dword [ebx + 8]
fstp dword [esp + 0x7c]
fild dword [ebx + 0xc]
fstp dword [esp + 0xc8]
fild dword [eax]
fstp dword [esp + 0x60]
fild dword [eax + 4]
fstp dword [esp + 0xac]
fild dword [eax + 8]
fstp dword [esp + 0x80]
fild dword [eax + 0xc]
movzx eax, word [esi]
mov word [esp + 0x10], ax
mov ax, word [esi + 4]
mov si, word [esi + 0xc]
fstp dword [esp + 0xcc]
jne 0x1a798b
fld dword [esp + 0x5c]
sar word [esp + 0x10], 2
fmul dword [0x41bca0]
sar word [esp + 0x30], 2
fstp dword [esp + 0x5c]
fld dword [esp + 0x7c]
fmul dword [0x41bca0]
fstp dword [esp + 0x7c]
fld dword [esp + 0x60]
fmul dword [0x41bca0]
fstp dword [esp + 0x60]
fld dword [esp + 0x80]
fmul dword [0x41bca0]
fstp dword [esp + 0x80]
cmp dword [esp + 0x48], 0
je 0x1a79ba
fld dword [esp + 0xac]
fadd dword [0x41bc3c]
fstp dword [esp + 0xac]
fld dword [esp + 0xcc]
fadd dword [0x41bc3c]
fstp dword [esp + 0xcc]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
lea edi, [esp + 0xcc]
push edi
lea edi, [esp + 0x84]
push edi
lea edi, [esp + 0xb4]
push edi
lea edi, [esp + 0x6c]
push edi
push esi
mov esi, dword [esp + 0x48]
push esi
push eax
mov eax, dword [esp + 0x30]
push eax
push 2
call dword [edx + 0x34]
mov edi, dword [esp + 0x1e0]
push 1
push 0
mov ecx, 2
mov eax, ebp
call fcn.00108cb0
cmp dword [esp + 0x1a0], 0
je 0x1a7a22
push 0
push 0
push 0
push 2
push 0x4b
call fcn.0008dca0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c
cmp eax, 3
jae 0x1a7a3f
add eax, 1
mov dword [edi + 0x40], eax
mov ebx, dword [esp + 0x1e4]
mov edi, dword [esp + 0xec]
mov ecx, dword [esp + 0x18]
push ebx
push edi
push esi
push ecx
mov ecx, ebp
call fcn.001b2690
mov edx, dword [esp + 0x10]
push ebx
mov ebx, dword [esp + 0x1e4]
push ebx
push esi
push edx
mov ecx, ebp
call fcn.001b2690
mov esi, eax
lea eax, [esp + 0x19c]
mov dword [ebx + 0x14c], edi
call fcn.00095b90
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0x1c