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

Disassembly:
mov eax, 0x3eec
call fcn.10264a30
mov eax, dword [0x1032e6c0]
xor eax, esp
mov dword [esp + 0x3ee8], eax
mov eax, dword [esp + 0x3ef8]
push ebx
push ebp
mov ebp, dword [esp + 0x3f04]
push esi
mov esi, dword [esp + 0x3efc]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3f18]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x24], eax
push edi
mov eax, dword [eax + 0x218]
mov edi, dword [esi]
push 0x80
mov dword [esp + 0x48], esi
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x84], eax
xor eax, eax
push eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x3e80]
push eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x5c], 0
mov byte [esp + 0x70], 0
mov byte [esp + 0x3f], 0
mov dword [esp + 0x7c], 0x1312d00
call fcn.102667b0
xorps xmm0, xmm0
mov dword [esp + 0x3e64], 0
push 0x2e04
lea eax, [esp + 0x140]
movq qword [esp + 0x3e60], xmm0
push 0
push eax
movups xmmword [esp + 0x3e78], xmm0
mov dword [esp + 0xf4], edi
movq qword [esp + 0x3e88], xmm0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], 0x10
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], 0x14
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 0x14
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
movlpd qword [esp + 0x114], xmm0
movlpd qword [esp + 0x11c], xmm0
movlpd qword [esp + 0x124], xmm0
mov dword [esp + 0x110], ebx
call fcn.102667b0
mov eax, dword [esp + 0x84]
movaps xmm0, xmmword [0x102c7980]
push 0xf1c
mov dword [esp + 0x150], eax
lea eax, [esp + 0x1f8c]
mov dword [esp + 0x14c], esi
mov dword [esp + 0x2ea8], edi
mov dword [esp + 0x2eac], ebx
movups xmmword [esp + 0x2eb0], xmm0
mov dword [esp + 0x2ec0], 0
push 0
push eax
call fcn.102667b0
mov eax, dword [esp + 0xa0]
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x1fa4], eax
lea eax, [esp + 0x1f94]
mov dword [esp + 0x1f98], eax
lea eax, [esp + 0x2eb0]
push 0xf1c
mov dword [esp + 0x1fa0], eax
lea eax, [esp + 0x107c]
push 0
push eax
mov byte [esp + 0x1fad], bl
mov dword [esp + 0x1fa0], esi
call fcn.102667b0
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1094], eax
lea eax, [esp + 0x1fa0]
mov dword [esp + 0x1088], eax
lea eax, [esp + 0x2ebc]
push 0xf1c
mov dword [esp + 0x1090], eax
lea eax, [esp + 0x16c]
push 0
push eax
mov byte [esp + 0x109d], bl
mov dword [esp + 0x1090], esi
call fcn.102667b0
mov ecx, dword [esp + 0xb8]
lea eax, [esp + 0x1fac]
mov dword [esp + 0x178], eax
add esp, 0x3c
lea eax, [esp + 0x2e8c]
mov byte [esp + 0x145], bl
mov dword [esp + 0x140], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2ea8], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2eac], eax
mov eax, dword [ebp]
mov dword [esp + 0x2eb4], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x2ec0], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x2ec4], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x2ec8], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2ed0], eax
mov al, byte [esi + 0xb9]
mov byte [esp + 0x2ebe], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x138], esi
mov esi, dword [esi + 0xe4]
mov ebx, dword [eax + 0xe8]
mov eax, esi
cdq
mov dword [esp + 0x2eb0], ecx
mov ecx, dword [ebp + 4]
mov ebp, dword [esp + 0x3f18]
mov dword [esp + 0x2eb8], ecx
mov ecx, eax
xor ecx, edx
mov dword [esp + 0x1c], ebp
sub ecx, edx
mov dword [esp + 0x2ecc], ebp
mov eax, ebx
mov dword [esp + 0x2ed4], esi
cdq
xor eax, edx
mov dword [esp + 0x2ed8], ebx
sub eax, edx
cmp ecx, eax
jle 0x10189e3b
test esi, esi
jmp 0x10189e3f
mov esi, ebx
test ebx, ebx
jns 0x10189e43
neg esi
mov ecx, dword [esp + 0x28]
lea eax, [esi + esi]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x2edc], eax
mov dword [esp + 0x2ee0], 0x199a
cmp byte [edx + 9], 0
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
setne byte [esp + 0x23]
mov byte [esp + 0x2f0c], 0
mov eax, dword [ecx + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [esi], eax
cmp byte [edx + 9], 0
je 0x10189eac
mov eax, dword [ecx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x10189eb1
mov ebx, 0x30
lea eax, [esp + 0xa0]
mov dword [esp + 0x74], ebx
push eax
push 0x14
push edi
call fcn.101500e0
add esp, 0xc
mov esi, eax
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x94], esi
jne 0x10189f13
mov eax, dword [esp + 0x68]
mov dword [esi + 4], eax
lea eax, [esp + 0xa0]
push eax
push 0
push ebx
push 0
push 8
push edi
mov dword [esi], edi
call fcn.10150130
add esp, 0x18
mov dword [esi + 8], eax
cmp dword [esp + 0xa0], 0
je 0x10189f1f
push esi
push edi
call fcn.101500c0
add esp, 8
xor esi, esi
xor edi, edi
lea eax, [esi + 0x40]
jmp 0x1018a29e
mov dword [esi + 0xc], eax
lea eax, [esp + 0xdc]
push 0x11
push eax
mov dword [esi + 0x10], ebx
call fcn.10186640
mov ecx, dword [esp + 0xf4]
add esp, 8
mov edi, dword [esp + 0xf4]
test al, al
mov eax, dword [esp + 0x68]
mov edx, 0x11
cmovne ecx, edx
mov dword [esp + 0x24], edi
mov ebx, edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x18], ebx
cmp dword [eax], 0
jne 0x1018e00c
mov eax, dword [esp + 0x3f04]
xor ecx, ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x88], edx
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x90], eax
movups xmmword [edi], xmm0
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x14], edi
jmp 0x10189fe8
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x1018d90d
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
mov ecx, dword [esp + 0x10]
jne 0x10189fe8
mov dword [eax], 0x82
nop dword [eax + eax]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jb 0x1018a005
test ecx, ecx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x34], ebx
jmp 0x1018a032
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, cl
mov dword [esp + 0x34], ebx
cmp cl, 0xb
je 0x1018a01b
cmp cl, 0xe
jne 0x1018a02e
mov ecx, dword [esp + 0x44]
xor edx, edx
movzx ebx, bl
cmp byte [ecx + 9], dl
cmovne ebx, edx
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x33]
test al, al
je 0x1018a0cf
test ah, ah
jne 0x1018a080
cmp bl, 1
je 0x1018a080
cmp bl, 3
je 0x1018a080
cmp bl, 0xd
je 0x1018a080
cmp bl, 0xa
je 0x1018a080
cmp bl, 0xb
je 0x1018a080
cmp bl, 0xc
je 0x1018a080
cmp bl, 0xe
je 0x1018a080
cmp bl, 0x20
jae 0x1018a080
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov edx, dword [esp + 0x60]
test edx, edx
jle 0x1018a0ab
cmp bl, 0xa
je 0x1018a0ab
cmp bl, 0xb
je 0x1018a0ab
cmp bl, 0xc
je 0x1018a0ab
cmp bl, 0x20
mov dword [esp + 0x3c], 0
cmovb edx, dword [esp + 0x3c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x64]
test dl, dl
je 0x1018a0cf
cmp bl, 0x20
jae 0x1018a0cf
cmp bl, 0xc
movzx edx, dl
mov dword [esp + 0x3c], 0
cmovne edx, dword [esp + 0x3c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x68]
cmp dword [edx], 0
jne 0x1018a296
sub dword [esp + 0x70], 1
je 0x1018b263
movzx edx, bl
cmp edx, 0x1f
ja case.default.0x1018a0f3
jmp dword [edx*4 + 0x1018e014]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x1018a0f3.0
cmp byte [ebx + 0x5d], 0
jne 0x1018b263
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018a13c
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a128
cmp dword [eax], 0
jne 0x1018a128
mov dword [eax], 0xa1
xor eax, eax
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
cmp dword [eax - 4], 2
je 0x1018a168
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a154
cmp dword [eax], 0
jne 0x1018a154
mov dword [eax], 0xa0
xor eax, eax
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1018a0f3.0
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x1018a0f3.0
cmp dword [ebx + 0x60], 0
je 0x1018b263
push dword [ebx + 0x80]
mov eax, dword [ebx + 0x224]
lea edi, [ebx + 0x5c]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
mov eax, dword [eax + 0xc]
push edi
call eax
add esp, 0x10
test al, al
je 0x1018a1e3
push dword [ebx + 0x80]
mov eax, dword [ebx + 0x224]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
mov eax, dword [eax + 0x10]
push edi
call eax
add esp, 0x10
mov dword [esp + 0x48], eax
test eax, eax
jne 0x1018a29a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018a201
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1018a1fd
cmp dword [ecx], 0
jne 0x1018a1fd
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1018a225
cmp dword [eax - 4], 2
je 0x1018a21d
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a219
cmp dword [eax], 0
jne 0x1018a219
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1018a225
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x1018b263
push eax
push esi
push edi
call fcn.101871a0
mov byte [ebx + 0x5d], 1
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x10189fe0
test al, al
jne 0x1018a25c
cmp byte [esp + 0xfc], al
jne case.0x1018a0f3.0
xor eax, eax
jmp 0x1018a266
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xc8]
push dword [esp + 0x64]
push eax
push esi
push dword [esp + 0x58]
call fcn.101876e0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
je 0x1018cbe2
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x1018a2ad
cmp dword [ebx], 0
jne 0x1018a2ad
mov dword [ebx], eax
push dword [esp + 0x2ea4]
mov dword [esp + 0x2e9c], 0
push dword [esp + 0x2e90]
mov dword [esp + 0x2ea4], 0
mov dword [esp + 0x2ea8], 0
call fcn.101500c0
push dword [esp + 0xc4]
mov dword [esp + 0x2eb0], 0
push dword [esp + 0xb0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
call fcn.101500c0
push dword [esp + 0xe8]
mov dword [esp + 0xd0], 0
push dword [esp + 0xd4]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
call fcn.101500c0
push edi
push dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
call fcn.101500c0
add esp, 0x20
test esi, esi
je 0x1018a39a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.101500c0
push esi
push edi
mov dword [esi + 8], 0
call fcn.101500c0
add esp, 0x10
mov ecx, dword [esp + 0x3ef8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1026465b
add esp, 0x3eec
ret
test al, al
jne 0x1018a3d8
cmp byte [esp + 0xfc], al
jne case.0x1018a0f3.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x1018a273
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x1018a273
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1018a43d
cmp byte [esp + 0x23], 0
jne 0x1018a43d
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1018a41e
sub eax, 1
jne 0x1018a42e
shl ecx, 0x10
jmp 0x1018a42e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x23], 1
cmp byte [ebx + 0x224], 0
jne 0x1018a296
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018a471
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a46d
cmp dword [eax], 0
jne 0x1018a46d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018a49b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018a48b
sub eax, 1
jne 0x1018a49b
shl ecx, 0x10
jmp 0x1018a49b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
cmp dword [ebx + 0x1d4], 0
jne 0x1018cbe2
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.10188910
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x1018d892
nop dword [eax]
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x1018a51d
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a519
cmp dword [eax], 0
jne 0x1018a519
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x1018a543
mov eax, dword [edx + ebx*8 + 4]
mov edi, dword [edx + ebx*8]
sub eax, 1
je 0x1018a533
sub eax, 1
jne 0x1018a543
shl edi, 0x10
jmp 0x1018a543
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
add dword [esp + 0x14], edi
lea eax, [ebx + 1]
mov edi, dword [esp + 0x14]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f14], edi
cmp eax, ecx
jb 0x1018a574
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a570
cmp dword [eax], 0
jne 0x1018a570
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018a59b
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x1018a58b
sub eax, 1
jne 0x1018a59b
shl ecx, 0x10
jmp 0x1018a59b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f1c], eax
lea eax, [esp + 0x134]
push edi
push eax
call fcn.10188790
add ebx, 2
add esp, 0xc
cmp ebx, ebp
jb 0x1018a4f0
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe4
mov ebp, dword [esi + 0xc]
sub ebp, dword [esi + 8]
sar ebp, 3
cmp bl, 6
sete bl
xor edi, edi
test ebp, ebp
je 0x1018a68d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1018a61a
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a616
cmp dword [eax], 0
jne 0x1018a616
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018a640
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018a630
sub eax, 1
jne 0x1018a640
shl ecx, 0x10
jmp 0x1018a640
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x1018a657
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
jmp 0x1018a66c
mov eax, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f18], eax
mov eax, dword [esp + 0x14]
push dword [esp + 0x1c]
xor bl, 1
push eax
lea eax, [esp + 0x138]
push eax
call fcn.10188790
inc edi
add esp, 0xc
cmp edi, ebp
jb 0x1018a5f5
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe0
mov eax, dword [esi + 0xc]
xor ebp, ebp
sub eax, dword [esi + 8]
sar eax, 3
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ebp
cmp eax, 6
jb 0x1018a922
lea ebx, [ebp + 2]
nop
mov edi, dword [esi + 0xc]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x1018a6ed
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a6e9
cmp dword [eax], 0
jne 0x1018a6e9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1018a714
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x1018a704
sub eax, 1
jne 0x1018a714
shl ecx, 0x10
jmp 0x1018a714
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x14]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x54], eax
sar ecx, 3
lea eax, [ebx - 1]
cmp eax, ecx
jb 0x1018a748
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a744
cmp dword [eax], 0
jne 0x1018a744
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1018a76f
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x1018a75f
sub eax, 1
jne 0x1018a76f
shl ecx, 0x10
jmp 0x1018a76f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, edi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x3c], ebp
cmp ebx, eax
jb 0x1018a7a0
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a79c
cmp dword [eax], 0
jne 0x1018a79c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1018a7c6
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x1018a7b6
sub eax, 1
jne 0x1018a7c6
shl ecx, 0x10
jmp 0x1018a7c6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x54]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x4c], eax
sar ecx, 3
lea eax, [ebx + 1]
cmp eax, ecx
jb 0x1018a7fa
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a7f6
cmp dword [eax], 0
jne 0x1018a7f6
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1018a821
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x1018a811
sub eax, 1
jne 0x1018a821
shl ecx, 0x10
jmp 0x1018a821
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [ebx + 2]
mov ecx, edi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1018a84d
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a849
cmp dword [eax], 0
jne 0x1018a849
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1018a874
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x1018a864
sub eax, 1
jne 0x1018a874
shl ecx, 0x10
jmp 0x1018a874
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x4c]
sub edi, edx
add eax, ecx
sar edi, 3
mov dword [esp + 0x14], eax
lea eax, [ebx + 3]
cmp eax, edi
jb 0x1018a8a0
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a89c
cmp dword [eax], 0
jne 0x1018a89c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018a8c7
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x1018a8b7
sub eax, 1
jne 0x1018a8c7
shl ecx, 0x10
jmp 0x1018a8c7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x14]
lea eax, [ecx + ebp]
push eax
push edi
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x140]
push dword [esp + 0x4c]
push dword [esp + 0x68]
push eax
call fcn.10188430
mov eax, dword [esp + 0x38]
add ebx, 6
mov ebp, dword [esp + 0x5c]
add esp, 0x1c
mov dword [esp + 0x3f18], eax
add ebp, 6
mov dword [esp + 0x3f14], edi
lea eax, [ebx + 4]
mov dword [esp + 0x40], ebp
cmp eax, dword [esp + 0x2c]
jbe 0x1018a6c0
mov ebx, dword [esp + 0x34]
cmp bl, 0x18
jne 0x1018aa0d
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x1018a958
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a954
cmp dword [eax], 0
jne 0x1018a954
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1018a97e
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x1018a96e
sub eax, 1
jne 0x1018a97e
shl edx, 0x10
jmp 0x1018a97e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x14]
sub ecx, edi
add eax, edx
sar ecx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x1018a9b1
mov eax, dword [esi + 4]
test eax, eax
je 0x1018a9ad
cmp dword [eax], 0
jne 0x1018a9ad
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018a9d7
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x1018a9c7
sub eax, 1
jne 0x1018a9d7
shl ecx, 0x10
jmp 0x1018a9d7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x130]
mov edi, dword [esp + 0x14]
add ebp, ecx
push ebp
push edi
push eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3f24], ebp
call fcn.10188790
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe4
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe4
test al, al
je case.0x1018a0f3.0
cmp byte [esp + 0x2ebc], 0
je 0x1018aaac
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.10188790
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x1018aa92
push 1
push dword [esp + 0x2ef4]
lea eax, [esp + 0x2eec]
push dword [esp + 0x2ef4]
push eax
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x144]
push eax
call fcn.10188a60
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x23], 1
mov dword [esi + 0xc], eax
jmp 0x10189fe8
cmp ecx, 0x10
jg 0x1018b263
inc ecx
cmp ecx, dword [esp + 0x8c]
jb 0x1018aaef
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1018aaed
cmp dword [eax], 0
jne 0x1018aaed
mov dword [eax], 0x82
xor ecx, ecx
mov eax, dword [esp + 0x90]
imul eax, ecx
add eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018ab1f
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ab1b
cmp dword [eax], 0
jne 0x1018ab1b
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1018ab43
cmp dword [eax - 4], 2
je 0x1018ab3b
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ab37
cmp dword [eax], 0
jne 0x1018ab37
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1018ab43
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
cmp byte [ecx + 8], 0
je 0x1018ab74
mov ecx, dword [edx + 0x268]
test ecx, ecx
je 0x1018ab74
push ecx
push eax
call fcn.1014fc80
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x1018ab71
mov eax, dword [eax]
jmp 0x1018ab74
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x18]
movups xmmword [ebx], xmm0
je 0x1018ac19
mov ecx, dword [edx + 0x234]
add ecx, eax
cmp ecx, dword [edx + 0x22c]
jb 0x1018aba1
mov eax, 1
jmp 0x1018ac4e
mov eax, dword [esp + 0x28]
lea edx, [ecx*4]
mov eax, dword [eax + 0x23c]
mov ecx, dword [edx + eax]
mov eax, dword [esp + 0x28]
mov dword [ebx + 4], ecx
cmp byte [eax + 0x30], 0
je 0x1018abfd
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1018abdb
test ecx, ecx
je 0x1018abd7
mov eax, dword [eax + edx]
add eax, ecx
jmp 0x1018ac07
xor eax, eax
jmp 0x1018ac07
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x3c]
add eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x23c]
mov eax, dword [eax + edx + 4]
mov edx, 8
mov ecx, ebx
mov dword [edx + ecx], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
jmp 0x1018ac4c
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jb 0x1018ac30
mov eax, 1
jmp 0x1018ac4e
mov eax, dword [edx + 0x240]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [edx + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov dword [ebx + 8], eax
xor eax, eax
test eax, eax
jne 0x1018b263
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x10189fe8
cmp ecx, 1
jl 0x1018b263
dec ecx
mov ebx, ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x8c]
jb 0x1018ac95
mov edx, dword [esp + 0x88]
test edx, edx
je 0x1018ac93
cmp dword [edx], 0
jne 0x1018ac93
mov dword [edx], 0x82
xor ebx, ebx
imul ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x10189fe8
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x1018acbe
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x1018acd1
mov eax, dword [ebx]
test eax, eax
je 0x1018accf
cmp dword [eax], 0
jne 0x1018accf
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x5b], cl
cmp eax, 0x1d
ja case.0x1018aceb.9
movzx eax, byte [eax + 0x1018e0ac]
jmp dword [eax*4 + 0x1018e094]
push 0
push 0x102c7320
jmp 0x1018ad58
push 0
push 0x102c732c
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.101873d0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
mov dword [esi + 0xc], eax
jmp 0x10189fe8
push 0
push 0x102c7338
jmp 0x1018ad58
push 1
push 0x102c7344
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.101873d0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x10189fe4
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x1018ade0.0
cmp cl, 0x26
jae case.0x1018ade0.0
mov al, byte [eax + 8]
mov edx, dword [esp + 0x60]
test al, al
je 0x1018add4
test edx, edx
jle 0x1018add4
cmp cl, 0x11
je 0x1018add4
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1018ade0.0
jmp dword [ecx*4 + 0x1018e0cc]
test al, al
je case.0x1018ade0.0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1018ae14
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ae10
cmp dword [eax], 0
jne 0x1018ae10
mov dword [eax], 0x82
xor edi, edi
jmp 0x1018ae38
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1018ae28
sub eax, 1
jne 0x1018ae38
shl edi, 0x10
jmp 0x1018ae38
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x1018ae5e
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ae5a
cmp dword [eax], 0
jne 0x1018ae5a
mov dword [eax], 0x82
xor ebx, ebx
jmp 0x1018ae83
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
sub eax, 1
je 0x1018ae73
sub eax, 1
jne 0x1018ae83
shl ebx, 0x10
jmp 0x1018ae83
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x1018aea9
mov eax, dword [esi + 4]
test eax, eax
je 0x1018aea5
cmp dword [eax], 0
jne 0x1018aea5
mov dword [eax], 0x82
xor edx, edx
jmp 0x1018aece
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1018aebe
sub eax, 1
jne 0x1018aece
shl edx, 0x10
jmp 0x1018aece
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 8]
sub eax, ebp
sar eax, 3
cmp eax, 1
ja 0x1018aef4
mov eax, dword [esi + 4]
test eax, eax
je 0x1018aef0
cmp dword [eax], 0
jne 0x1018aef0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018af19
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1018af09
sub eax, 1
jne 0x1018af19
shl ecx, 0x10
jmp 0x1018af19
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 8]
sub eax, ebp
sar eax, 3
cmp eax, 2
jae 0x1018af3d
mov eax, dword [esi + 4]
test eax, eax
je 0x1018af50
cmp dword [eax], 0
jne 0x1018af50
mov dword [eax], 0x82
jmp 0x1018af50
mov eax, ebx
sub eax, edi
sub eax, ecx
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 8]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp eax, 3
ja 0x1018af76
mov eax, dword [esi + 4]
test eax, eax
je 0x1018af72
cmp dword [eax], 0
jne 0x1018af72
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018af9b
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, 1
je 0x1018af8b
sub eax, 1
jne 0x1018af9b
shl ecx, 0x10
jmp 0x1018af9b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp eax, 4
jae 0x1018afbf
mov eax, dword [esi + 4]
test eax, eax
je 0x1018afd0
cmp dword [eax], 0
jne 0x1018afd0
mov dword [eax], 0x82
jmp 0x1018afd0
sub edx, ebx
sub edx, ecx
mov dword [edi + 0x20], edx
mov eax, dword [esi + 8]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x5b], 1
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x20]
jne 0x1018afe2
mov eax, dword [eax]
jmp 0x1018afe5
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x64]
lea edx, [esp + 0xcc]
lea eax, [esp + 0xb0]
cmovne eax, edx
push eax
push esi
push dword [esp + 0x58]
call fcn.101876e0
add esp, 0x18
cmp byte [ebx + 0x224], 0
jne 0x1018a296
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018b054
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b050
cmp dword [eax], 0
jne 0x1018b050
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018b07e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1018b06e
sub eax, 1
jne 0x1018b07e
shl edx, 0x10
jmp 0x1018b07e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1018b0a7
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b189
cmp dword [eax], 0
jne 0x1018b189
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10189fa9
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x1018b0c1
sub eax, 1
jne 0x1018b0d1
shl ecx, 0x10
jmp 0x1018b0d1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1018b189
test edx, edx
je 0x1018b189
mov edx, 1
jmp 0x10189fa9
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018b109
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b105
cmp dword [eax], 0
jne 0x1018b105
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018b133
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1018b123
sub eax, 1
jne 0x1018b133
shl edx, 0x10
jmp 0x1018b133
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1018b14f
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b181
cmp dword [eax], 0
jne 0x1018b181
mov dword [eax], 0xa1
jmp 0x1018b181
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x1018b169
sub eax, 1
jne 0x1018b179
shl ecx, 0x10
jmp 0x1018b179
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1018b0e1
test edx, edx
jne 0x1018b0e1
xor edx, edx
jmp 0x10189fa9
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018b1ae
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b1aa
cmp dword [eax], 0
jne 0x1018b1aa
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018b1d8
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1018b1c8
sub eax, 1
jne 0x1018b1d8
shl edx, 0x10
jmp 0x1018b1d8
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp edi, eax
je 0x10189fc1
xor eax, eax
test edx, edx
sete al
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x10189fe8
test al, al
je case.0x1018ade0.0
mov eax, dword [esp + 0x28]
push esi
mov edx, dword [eax + 4]
call fcn.1018e270
mov edi, eax
push esi
mov dword [esp + 0x44], edi
call fcn.1018e270
push esi
mov ebp, eax
call fcn.1018e220
push esi
mov dword [esp + 0x84], eax
call fcn.1018e220
push esi
mov ebx, eax
call fcn.1018e220
add esp, 0x14
mov dword [esp + 0x70], eax
cmp byte [esp + 0x3f10], 0
je 0x1018dbd1
mov eax, 0x12
jmp 0x1018a29a
test al, al
je case.0x1018ade0.0
push esi
call fcn.1018e220
mov edx, dword [esp + 0x2c]
push esi
mov ecx, dword [edx + 0x24]
mov dword [ecx + 4], eax
call fcn.1018e220
mov ecx, dword [edx + 0x24]
push esi
mov dword [ecx], eax
call fcn.1018e220
push esi
mov edx, eax
call fcn.1018e220
mov ecx, dword [esp + 0x38]
add esp, 0x10
mov byte [esp + 0x23], 1
mov ecx, dword [ecx + 0x20]
add dword [ecx], eax
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x20]
add dword [ecx + 4], edx
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x2f], 0
jne 0x1018a296
cmp byte [esp + 0x33], 0
mov ecx, dword [esp + 0x10]
je 0x1018cbea
add edi, eax
mov eax, dword [esi + 8]
add ebp, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x1018b32f
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b317
cmp dword [eax], 0
jne 0x1018b317
mov dword [eax], 0xa1
xor ecx, ecx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.1018e2c0
add esp, 8
jmp 0x10189fe0
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018b349
sub eax, 1
jne 0x1018b359
shl ecx, 0x10
jmp 0x1018b359
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jge 0x1018b319
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
cmp edx, eax
jne 0x1018b384
mov eax, dword [esi + 4]
test eax, eax
je 0x10189fe0
cmp dword [eax], 0
jne 0x10189fe0
jmp 0x10189fd5
mov dword [edx], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe0
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1018b3bb
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b3b7
cmp dword [eax], 0
jne 0x1018b3b7
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1018b3e5
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1018b3d5
sub eax, 1
jne 0x1018b3e5
shl edi, 0x10
jmp 0x1018b3e5
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018b403
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b3ff
cmp dword [eax], 0
jne 0x1018b3ff
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018b42d
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1018b41d
sub eax, 1
jne 0x1018b42d
shl edx, 0x10
jmp 0x1018b42d
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp ebx, eax
jne 0x1018b462
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
jmp 0x10189fd5
lea eax, [edx + edi]
mov edi, dword [esp + 0x14]
mov dword [ebx], eax
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe8
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1018b4a0
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b49c
cmp dword [eax], 0
jne 0x1018b49c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1018b4ca
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1018b4ba
sub eax, 1
jne 0x1018b4ca
shl edi, 0x10
jmp 0x1018b4ca
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018b4e8
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b4e4
cmp dword [eax], 0
jne 0x1018b4e4
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018b512
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1018b502
sub eax, 1
jne 0x1018b512
shl edx, 0x10
jmp 0x1018b512
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp ebx, eax
jne 0x1018b547
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
jmp 0x10189fd5
sub edx, edi
mov edi, dword [esp + 0x14]
mov dword [ebx], edx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe8
test al, al
je 0x1018b586
cmp byte [esp + 0x64], 0
je 0x1018b586
push esi
call fcn.1018e270
push esi
mov edx, eax
call fcn.1018e270
mov byte [esp + 0x6c], 0
jmp 0x1018b594
push esi
call fcn.1018e220
push esi
mov edx, eax
call fcn.1018e220
add esp, 8
push edx
push eax
call fcn.10149760
mov edx, dword [esi + 0x10]
add esp, 8
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x1018b5ca
mov eax, dword [esi + 4]
test eax, eax
je 0x10189fe0
cmp dword [eax], 0
jne 0x10189fe0
jmp 0x10189fd5
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe0
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x1018b60e
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b5fb
cmp dword [eax], 0
jne 0x1018b5fb
mov dword [eax], 0xa1
xor ecx, ecx
neg ecx
push ecx
push esi
call fcn.1018e2c0
add esp, 8
jmp 0x10189fe0
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018b628
sub eax, 1
jne 0x1018b638
shl ecx, 0x10
jmp 0x1018b638
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jl 0x1018b361
neg ecx
push ecx
push esi
call fcn.1018e2c0
add esp, 8
jmp 0x10189fe0
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1018b673
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b66f
cmp dword [eax], 0
jne 0x1018b66f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1018b69d
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1018b68d
sub eax, 1
jne 0x1018b69d
shl edi, 0x10
jmp 0x1018b69d
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018b6bb
mov eax, dword [esi + 4]
test eax, eax
je 0x1018b6b7
cmp dword [eax], 0
jne 0x1018b6b7
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018b6e5
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1018b6d5
sub eax, 1
jne 0x1018b6e5
shl edx, 0x10
jmp 0x1018b6e5
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp ebx, eax
jne 0x1018b71a
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
jmp 0x10189fd5
xor eax, eax
cmp edx, edi
mov edi, dword [esp + 0x14]
sete al
mov dword [ebx], eax
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x10189fe8
mov ecx, dword [esp + 0x10]
test al, al
je 0x10189fe8
push esi
call fcn.1018e270
push esi
mov edx, eax
call fcn.1018e270
mov ebp, dword [esi + 0xc]
mov ebx, eax
mov ecx, dword [esi + 8]
add esp, 8
sub ebp, ecx
mov dword [esp + 0x40], ebx
sar ebp, 3
cmp ebx, ebp
ja 0x1018b263
sub ebp, ebx
mov dword [esp + 0x50], 0
xor eax, eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x60], eax
cmp edx, 0x1c
ja case.0x1018b798.4
movzx eax, byte [edx + 0x1018e194]
jmp dword [eax*4 + 0x1018e154]
cmp ebx, 3
jne 0x1018b263
cmp byte [esp + 0x33], 0
je 0x1018b7cd
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x1d4], 0
je 0x1018b263
cmp dword [eax + 0x1d8], 7
jne 0x1018b263
push edi
push esi
call fcn.1018e2c0
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.1018e2c0
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x50], 2
jmp 0x10189fe4
test ebx, ebx
jne 0x1018b263
cmp byte [esp + 0x33], bl
je 0x1018bac7
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
movsx eax, word [edx + 0x16]
movsx ecx, word [edx + 0x3a]
add eax, 6
add eax, ecx
cmp eax, dword [edx + 4]
jbe 0x1018b832
push ebx
push 6
push edx
call fcn.1014a5c0
add esp, 0xc
test eax, eax
jne 0x1018a296
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [ecx + 0x1d4], 1
mov dword [ecx + 0x1d8], 0
jmp 0x10189fe4
test ebx, ebx
jne 0x1018b263
cmp byte [esp + 0x33], bl
je 0x1018bac7
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x1d4], ebx
je 0x1018b263
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x1018bac7
push 1
push ecx
call fcn.10183fe0
add esp, 8
test eax, eax
jne 0x1018b263
lea eax, [edi - 3]
cmp edi, 3
jg 0x1018b8b1
mov eax, edi
mov ebp, dword [esp + 0x14]
add eax, eax
mov dword [esp + eax*4 + 0x3e58], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x3e5c], ebp
cmp edi, 3
je 0x1018b8d7
cmp edi, 6
jne 0x1018bacb
push dword [esp + 0x3e74]
lea eax, [esp + 0x134]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push eax
call fcn.10188430
mov ebx, dword [esp + 0x34]
add esp, 0x1c
jmp 0x10189fe0
cmp ebx, 1
jne 0x1018b263
cmp byte [esp + 0x33], 0
je 0x1018b974
mov eax, dword [esp + 0x68]
xorps xmm0, xmm0
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xd0], 0
movq qword [esp + 0x108], xmm0
mov dword [esp + 0x110], 0
mov dword [esp + 0xf8], eax
mov word [esp + 0xfc], 0x100
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10189fe4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
jmp 0x10189fe4
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x284]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x1018b263
xor eax, eax
cmp edx, 0x12
sete al
lea ecx, [eax - 0xd]
mov eax, dword [ebx]
add ecx, edx
mov edx, dword [esp + 0x40]
imul eax, ecx
mov dword [esp + 0x50], ecx
cmp edx, eax
jne 0x1018b263
lea edi, [ecx + ebp]
test ecx, ecx
je 0x1018ba8b
mov dword [esp + 0x54], ecx
push ebp
push esi
call fcn.1018e1c0
add esp, 8
mov ebp, eax
cmp dword [ebx], 1
jbe 0x1018ba64
mov eax, 1
mov ebx, 4
sub eax, edi
mov dword [esp + 0x38], eax
push edi
push esi
call fcn.1018e1c0
mov dword [esp + 0x44], eax
add esp, 8
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x88]
mov eax, dword [ebx + eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x34]
lea ebx, [ebx + 4]
mov eax, dword [esp + 0x38]
inc edi
add ebp, dword [esp + 0x98]
add eax, edi
cmp eax, dword [ecx]
jb 0x1018ba01
mov ebx, ecx
push ebp
mov ebp, dword [esp + 0x50]
push ebp
push esi
call fcn.1018e300
inc ebp
add esp, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x4c], ebp
jne 0x1018b9e0
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
sub edx, ecx
mov ecx, dword [esi + 0xc]
mov eax, ecx
sub eax, dword [esi + 8]
sar eax, 3
cmp edx, eax
jbe 0x1018babb
mov eax, dword [esi + 4]
test eax, eax
je 0x1018bac7
cmp dword [eax], 0
jne 0x1018bac7
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x10189fe0
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x10189fe0
mov ebp, dword [esp + 0x28]
mov edi, dword [ebp + 0x284]
mov edx, dword [ebp + 0x28c]
cmp ebx, 1
jne 0x1018b263
test edi, edi
je 0x1018b263
push esi
call fcn.1018e270
mov ebx, eax
add esp, 4
mov eax, dword [edi]
cmp edx, eax
jb 0x1018b263
sub edx, eax
cmp edx, ebx
jb 0x1018b263
mov edx, dword [ebp + 0x288]
test edx, edx
je 0x1018bac7
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x1018bac7
shl eax, 2
push eax
push ecx
lea eax, [edx + ebx*4]
push eax
call fcn.10266230
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x10189fe0
cmp ebx, 2
jne 0x1018b263
push esi
call fcn.1018e220
push esi
mov edx, eax
call fcn.1018e220
add eax, edx
push eax
push esi
call fcn.1018e2c0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10189fe4
cmp ebx, 2
jne 0x1018b263
push esi
call fcn.1018e220
push esi
mov edx, eax
call fcn.1018e220
sub eax, edx
push eax
push esi
call fcn.1018e2c0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10189fe4
cmp ebx, 2
jne 0x1018b263
push esi
call fcn.1018e220
push esi
mov dword [esp + 0x54], eax
call fcn.1018e220
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x9c], eax
push dword [esp + 0x9c]
push esi
call fcn.1018e2c0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10189fe4
cmp ebx, 2
jne 0x1018b263
push esi
call fcn.1018e220
push esi
mov edx, eax
call fcn.1018e220
add esp, 8
test edx, edx
je 0x1018b263
push edx
push eax
call fcn.10149760
push eax
push esi
call fcn.1018e2c0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10189fe4
cmp ebx, 2
jne 0x1018b263
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x284], 0
je 0x1018b263
push esi
call fcn.1018e270
mov edx, eax
add esp, 4
cmp edx, dword [ebx + 0x28c]
jae 0x1018b263
push esi
call fcn.1018e220
mov ecx, dword [ebx + 0x288]
add esp, 4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [ecx + edx*4], eax
jmp 0x10189fe4
cmp ebx, 1
jne 0x1018b263
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x284], 0
je 0x1018b263
push esi
call fcn.1018e270
add esp, 4
cmp eax, dword [edx + 0x28c]
jae 0x1018b263
mov ecx, dword [edx + 0x288]
push dword [ecx + eax*4]
jmp 0x1018bc06
cmp ebx, 4
jne 0x1018b263
push esi
call fcn.1018e220
push esi
mov ebx, eax
call fcn.1018e220
push esi
mov edi, eax
call fcn.1018e220
push esi
mov edx, eax
call fcn.1018e220
cmp edi, ebx
cmovle edx, eax
push edx
push esi
call fcn.1018e2c0
mov edi, dword [esp + 0x2c]
add esp, 0x18
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10189fe4
test ebx, ebx
jne 0x1018b263
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x218]
mov edx, dword [edi + 0x288]
mov ecx, edx
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edi + 0x288], eax
movzx eax, dx
inc eax
push eax
push esi
call fcn.1018e2c0
mov edi, dword [esp + 0x1c]
jmp 0x1018bc0c
test ebx, ebx
js 0x1018b263
test edx, edx
js 0x1018b263
cmp ebx, 3
mov eax, ebx
mov ecx, 3
cmovg eax, ecx
mov dword [esp + 0x60], eax
cmp eax, 1
jb 0x1018bac7
lea edx, [esp + eax*4 + 0x3e4c]
mov edi, eax
push esi
call fcn.1018e220
add esp, 4
mov dword [edx], eax
lea edx, [edx - 4]
sub edi, 1
jne 0x1018bdc4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x10189fe0
mov ecx, dword [esp + 0x10]
test al, al
je 0x10189fe8
cmp dword [esp + 0x50], 0
jle 0x1018be00
dec dword [esp + 0x50]
jmp 0x10189fe4
test edx, edx
je 0x1018b263
push dword [esp + edx*4 + 0x3e4c]
dec edx
push esi
mov dword [esp + 0x68], edx
call fcn.1018e2c0
add esp, 8
jmp 0x10189fe4
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esi + 8]
jne 0x1018be4d
mov eax, dword [esi + 4]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0xa1
jmp 0x10189fe4
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018be76
mov eax, dword [esi + 4]
test eax, eax
je 0x1018be72
cmp dword [eax], 0
jne 0x1018be72
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1018be9a
cmp dword [eax - 4], 2
je 0x1018be92
mov eax, dword [esi + 4]
test eax, eax
je 0x1018be8e
cmp dword [eax], 0
jne 0x1018be8e
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1018be9a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018beb8
mov eax, dword [esi + 4]
test eax, eax
je 0x1018beb4
cmp dword [eax], 0
jne 0x1018beb4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018bee2
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018bed2
sub eax, 1
jne 0x1018bee2
shl ecx, 0x10
jmp 0x1018bee2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp edi, 0x20
jae 0x10189fe0
mov dword [esp + edi*4 + 0x3e78], ecx
jmp 0x10189fe0
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018bf15
mov eax, dword [esi + 4]
test eax, eax
je 0x1018bf11
cmp dword [eax], 0
jne 0x1018bf11
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1018bf39
cmp dword [eax - 4], 2
je 0x1018bf31
mov eax, dword [esi + 4]
test eax, eax
je 0x1018bf2d
cmp dword [eax], 0
jne 0x1018bf2d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1018bf39
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp eax, 0x20
jae 0x10189fe8
push dword [esp + eax*4 + 0x3e78]
push esi
call fcn.1018e2c0
add esp, 8
jmp 0x10189fe4
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x1018bf79
mov eax, dword [esi + 4]
test eax, eax
je 0x1018bf75
cmp dword [eax], 0
jne 0x1018bf75
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1018bfa4
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1018bf94
sub eax, 1
jne 0x1018bfa4
shl ebp, 0x10
jmp 0x1018bfa4
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018bfc2
mov eax, dword [esi + 4]
test eax, eax
je 0x1018bfbe
cmp dword [eax], 0
jne 0x1018bfbe
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x1018bfec
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1018bfdc
sub eax, 1
jne 0x1018bfec
shl ebx, 0x10
jmp 0x1018bfec
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018c00a
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c006
cmp dword [eax], 0
jne 0x1018c006
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018c034
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1018c024
sub eax, 1
jne 0x1018c034
shl edx, 0x10
jmp 0x1018c034
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018c052
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c04e
cmp dword [eax], 0
jne 0x1018c04e
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1018c07c
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1018c06c
sub eax, 1
jne 0x1018c07c
shl edi, 0x10
jmp 0x1018c07c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0xc]
cmp ecx, eax
jne 0x1018c0bb
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
cmp ebx, ebp
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
cmovle edx, edi
mov dword [ecx], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe0
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x218]
mov ecx, dword [edx + 0x288]
mov eax, ecx
shl eax, 0xd
movzx edi, cx
xor ecx, eax
mov eax, ecx
inc edi
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edx + 0x288], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1018b36b
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018c159
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c14f
cmp dword [eax], 0
jne 0x1018c14f
mov dword [eax], 0xa1
mov dword [esp + 0x40], 0
jmp 0x1018c193
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x1018c17d
sub eax, 1
mov eax, dword [ecx]
je 0x1018c174
mov dword [esp + 0x40], eax
jmp 0x1018c193
shl eax, 0x10
mov dword [esp + 0x40], eax
jmp 0x1018c193
mov ecx, dword [ecx]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov dword [esp + 0x40], ecx
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018c1b7
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c1ad
cmp dword [eax], 0
jne 0x1018c1ad
mov dword [eax], 0xa1
mov dword [esp + 0x34], 0
jmp 0x1018c1ee
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018c1db
sub eax, 1
je 0x1018c1d2
mov dword [esp + 0x34], ecx
jmp 0x1018c1ee
shl ecx, 0x10
mov dword [esp + 0x34], ecx
jmp 0x1018c1ee
mov eax, dword [edx]
shr ecx, 0x1f
sub eax, ecx
add eax, 0x2000
sar eax, 0xe
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x78], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1018c243
mov eax, dword [esi + 4]
test eax, eax
je 0x10189fe0
cmp dword [eax], 0
jne 0x10189fe0
mov dword [eax], 0x82
jmp 0x10189fe4
mov eax, dword [esp + 0x78]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe4
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x1018c2a9
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c276
cmp dword [eax], 0
jne 0x1018c276
mov dword [eax], 0xa1
xor ebx, ebx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1018c08c
mov ebp, dword [esp + 0x1c]
mov dword [edx], ebx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe0
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1018c2c4
sub eax, 1
jne 0x1018c2d4
shl ebp, 0x10
jmp 0x1018c2d4
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1018c276
mov eax, ebp
mov edi, ebp
sar eax, 1
cmp ebp, 0xa
cmovge edi, eax
push edi
push ebp
call fcn.10149760
lea ebx, [edi + 1]
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x1018c278
nop dword [eax]
push ebx
push ebp
mov edi, ebx
call fcn.10149760
inc ebx
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x1018c300
jmp 0x1018c278
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018c338
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c334
cmp dword [eax], 0
jne 0x1018c334
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018c362
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1018c352
sub eax, 1
jne 0x1018c362
shl edx, 0x10
jmp 0x1018c362
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x1018c386
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c396
cmp dword [eax], 0
jne 0x1018c396
mov dword [eax], 0x82
jmp 0x1018c396
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp edi, eax
je 0x10189fc1
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe8
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018c3e5
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c3e1
cmp dword [eax], 0
jne 0x1018c3e1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018c40f
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1018c3ff
sub eax, 1
jne 0x1018c40f
shl edx, 0x10
jmp 0x1018c40f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
push esi
call fcn.1018e220
push edx
push esi
mov ebx, eax
call fcn.1018e2c0
mov edx, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x1018c458
mov eax, dword [esi + 4]
test eax, eax
je 0x1018bacb
cmp dword [eax], 0
jne 0x1018bacb
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x10189fe4
mov dword [edi], ebx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10189fe0
push esi
call fcn.1018e270
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
sar ecx, 3
test ecx, ecx
je 0x10189fe0
test eax, eax
js 0x1018c499
cmp eax, ecx
jb 0x1018c497
xor ecx, ecx
jmp 0x1018c49a
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.1018e1c0
push eax
push esi
call fcn.1018e2c0
add esp, 0x10
jmp 0x10189fe4
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018c4ce
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c4ca
cmp dword [eax], 0
jne 0x1018c4ca
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1018c4f2
cmp dword [eax - 4], 2
je 0x1018c4ea
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c4e6
cmp dword [eax], 0
jne 0x1018c4e6
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1018c4f2
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1018c510
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c50c
cmp dword [eax], 0
jne 0x1018c50c
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018c534
cmp dword [eax - 4], 2
je 0x1018c52c
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c528
cmp dword [eax], 0
jne 0x1018c528
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1018c534
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 2
cmp ecx, 2
jl 0x10189fe4
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp ecx, eax
jbe 0x1018c581
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
test edx, edx
jns 0x1018c590
neg edx
mov eax, edx
cdq
idiv ecx
neg edx
jmp 0x1018c595
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x38], edx
test edx, edx
je 0x10189fe4
or ebp, 0xffffffff
mov dword [esp + 0x4c], ecx
lea esi, [edx*8]
or edi, ebp
mov dword [esp + 0x3c], esi
lea eax, [ecx*8]
mov esi, dword [esp + 0x94]
lea ebx, [ebp - 7]
cmp ebp, edi
jne 0x1018c5f1
mov eax, dword [esi + 8]
inc ebp
mov edi, ebp
lea ebx, [ebp*8]
mov edx, dword [ebx + eax]
mov dword [esp + 0x34], edx
mov edx, dword [ebx + eax + 4]
lea eax, [ecx*8]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
add ebx, dword [esp + 0x3c]
add edi, edx
cmp edi, ecx
jl 0x1018c601
sub edi, ecx
sub ebx, eax
jmp 0x1018c609
test edi, edi
jns 0x1018c609
add edi, ecx
add ebx, eax
sub dword [esp + 0x4c], 1
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x34]
mov ecx, dword [ebx + eax]
mov edx, dword [ebx + eax + 4]
mov dword [ebx + eax], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + eax + 4], esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
lea eax, [ecx*8]
jne 0x1018c5c6
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x10189fe0
test al, al
je case.0x1018ade0.0
cmp byte [esp + 0x33], 0
je case.0x1018ade0.0
push esi
call fcn.1018e220
mov ebp, eax
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f20], ebp
call fcn.1018e220
mov ecx, dword [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
mov dword [eax + 0x1d4], 0
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x1018a0f3.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1018c6dd
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c6d9
cmp dword [eax], 0
jne 0x1018c6d9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018c707
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1018c6f7
sub eax, 1
jne 0x1018c707
shl ecx, 0x10
jmp 0x1018c707
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x24]
mov dword [eax], ecx
mov eax, dword [ebx + 0x24]
mov dword [eax + 4], 0
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018c738
mov eax, dword [esi + 4]
test eax, eax
je 0x1018c734
cmp dword [eax], 0
jne 0x1018c734
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018c762
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018c752
sub eax, 1
jne 0x1018c762
shl ecx, 0x10
jmp 0x1018c762
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebx + 0x20]
mov byte [esp + 0x23], 1
add dword [eax], ecx
cmp byte [ebx + 0x2f], 0
jne 0x1018a296
cmp byte [esp + 0x33], 0
mov ebx, dword [esp + 0x18]
je case.0x1018ade0.0
mov eax, dword [esi + 8]
add edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
je 0x1018de3c
test ah, ah
jne 0x1018de3c
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.10188910
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
mov eax, dword [esp + 0x74]
add esp, 0xc
mov byte [esp + 0x33], 1
mov dword [esp + 0xb4], 0
mov dword [esp + 0xd0], 0
movq qword [esp + 0x108], xmm0
mov dword [esp + 0x110], 0
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0xf8], eax
mov word [esp + 0xfc], 0x100
test ecx, ecx
jle 0x1018c87d
mov ebp, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x90]
nop dword [eax]
lea eax, [ecx - 1]
cmp eax, edx
jb 0x1018c85a
test ebp, ebp
je 0x1018c858
cmp dword [ebp], 0
jne 0x1018c858
mov dword [ebp], 0x82
xor eax, eax
mov edi, ebx
dec ecx
imul edi, eax
add edi, esi
mov dword [esp + 0x18], edi
test ecx, ecx
jg 0x1018c840
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x1018c8ae
cmp byte [esp + 0xfc], 0
jne case.0x1018a0f3.0
push 0
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x64]
lea eax, [esp + 0xb0]
push eax
push esi
push dword [esp + 0x58]
call fcn.101876e0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x1018a296
cmp bl, 0x13
jne 0x1018c917
mov eax, dword [esp + 0xb4]
add eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x18]
push eax
lea eax, [esp + 0xfc]
push ebx
push eax
call fcn.101899f0
mov eax, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
push 0xf1c
lea eax, [esp + 0x2f38]
push 0
push eax
call fcn.102667b0
mov ecx, dword [esp + 0x50]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x2f40], ecx
movlpd qword [esp + 0x124], xmm0
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x2f4d], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0x2f50], eax
lea eax, [esp + 0x1f7c]
mov dword [esp + 0x2f44], eax
lea eax, [esp + 0x2e98]
mov dword [esp + 0x2f48], eax
lea eax, [ecx + 4]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc0]
add eax, dword [esp + 0xdc]
push eax
lea eax, [esp + 0x124]
movlpd qword [esp + 0x130], xmm0
push ebx
push eax
movlpd qword [esp + 0x140], xmm0
call fcn.101899f0
push 0
push 0
lea eax, [esp + 0x134]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x2f60]
push eax
call fcn.10188f40
mov eax, dword [esi + 8]
add esp, 0x30
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1018ca3b
cmp byte [esp + 0x23], 0
jne 0x1018ca3b
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018ca1c
sub eax, 1
jne 0x1018ca2c
shl ecx, 0x10
jmp 0x1018ca2c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x23], 1
cmp byte [ebx + 0x224], 0
jne 0x1018a296
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018ca6f
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ca6b
cmp dword [eax], 0
jne 0x1018ca6b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018ca99
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018ca89
sub eax, 1
jne 0x1018ca99
shl ecx, 0x10
jmp 0x1018ca99
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 0xc]
add ebp, ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
cmp edx, dword [esi + 8]
jne 0x1018cad4
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cac0
cmp dword [eax], 0
jne 0x1018cac0
mov dword [eax], 0xa1
xor ecx, ecx
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x1018a4a8
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018cafe
sub eax, 1
jne 0x1018cb0e
shl ecx, 0x10
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x1018a4a8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x1018a4a8
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1018cb6a
cmp byte [esp + 0x23], 0
jne 0x1018cb6a
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018cb4b
sub eax, 1
jne 0x1018cb5b
shl ecx, 0x10
jmp 0x1018cb5b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x23], 1
cmp byte [ebx + 0x224], 0
jne 0x1018a296
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1018cb9e
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cb9a
cmp dword [eax], 0
jne 0x1018cb9a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1018cbc8
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1018cbb8
sub eax, 1
jne 0x1018cbc8
shl ecx, 0x10
jmp 0x1018cbc8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add edi, ecx
cmp dword [ebx + 0x1d4], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
je 0x1018a4b5
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x10189fe8
mov ebp, dword [esi + 0xc]
xor edi, edi
sub ebp, dword [esi + 8]
sar ebp, 3
mov dword [esp + 0x54], ebp
cmp ebp, 6
jbe 0x1018ccef
lea ebx, [edi + 6]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1018cc35
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cc31
cmp dword [eax], 0
jne 0x1018cc31
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018cc5b
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018cc4b
sub eax, 1
jne 0x1018cc5b
shl ecx, 0x10
jmp 0x1018cc5b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 8]
add eax, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebx - 5]
sar ecx, 3
cmp eax, ecx
jb 0x1018cc94
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cc90
cmp dword [eax], 0
jne 0x1018cc90
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018ccbb
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1018ccab
sub eax, 1
jne 0x1018ccbb
shl ecx, 0x10
jmp 0x1018ccbb
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x3f20], eax
lea eax, [esp + 0x138]
push eax
call fcn.10188790
add ebx, 2
add esp, 0xc
add edi, 2
cmp ebx, ebp
jb 0x1018cc10
cmp edi, ebp
jae 0x1018cf50
add edi, 2
nop word [eax + eax]
mov ecx, dword [esi + 0xc]
lea eax, [edi - 2]
mov edx, dword [esi + 8]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1018cd28
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cd24
cmp dword [eax], 0
jne 0x1018cd24
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018cd4f
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1018cd3f
sub eax, 1
jne 0x1018cd4f
shl ecx, 0x10
jmp 0x1018cd4f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x14]
lea eax, [edi - 1]
mov edx, dword [esi + 8]
add ebp, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
mov dword [esp + 0x4c], ebp
sar ecx, 3
cmp eax, ecx
jb 0x1018cd81
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cd7d
cmp dword [eax], 0
jne 0x1018cd7d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018cda8
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1018cd98
sub eax, 1
jne 0x1018cda8
shl ecx, 0x10
jmp 0x1018cda8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
mov dword [esp + 0x3c], ebx
cmp edi, eax
jb 0x1018cdd7
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cdd3
cmp dword [eax], 0
jne 0x1018cdd3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018cdfd
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018cded
sub eax, 1
jne 0x1018cdfd
shl ecx, 0x10
jmp 0x1018cdfd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 8]
lea eax, [edi + 1]
add ebp, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1018ce27
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ce23
cmp dword [eax], 0
jne 0x1018ce23
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018ce4e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1018ce3e
sub eax, 1
jne 0x1018ce4e
shl ecx, 0x10
jmp 0x1018ce4e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 8]
lea eax, [edi + 2]
add ebx, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1018ce78
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ce74
cmp dword [eax], 0
jne 0x1018ce74
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018ce9f
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1018ce8f
sub eax, 1
jne 0x1018ce9f
shl ecx, 0x10
jmp 0x1018ce9f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 8]
lea eax, [ecx + ebp]
mov ecx, dword [esi + 0xc]
sub ecx, edx
mov dword [esp + 0x14], eax
sar ecx, 3
lea eax, [edi + 3]
cmp eax, ecx
jb 0x1018cece
mov eax, dword [esi + 4]
test eax, eax
je 0x1018ceca
cmp dword [eax], 0
jne 0x1018ceca
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018cef5
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1018cee5
sub eax, 1
jne 0x1018cef5
shl ecx, 0x10
jmp 0x1018cef5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ebx + ecx]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x138]
push ebx
push ebp
push dword [esp + 0x4c]
push dword [esp + 0x60]
push eax
call fcn.10188430
mov eax, dword [esp + 0x30]
add edi, 6
mov ebp, dword [esp + 0x38]
add esp, 0x1c
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], ebp
lea eax, [edi - 2]
cmp eax, dword [esp + 0x54]
jb 0x1018cd00
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe0
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe0
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x3c], ecx
cmp edi, ecx
jae 0x1018cf54
lea eax, [edi + 3]
lea ebx, [edi + 2]
mov dword [esp + 0x2c], eax
lea edx, [edi + 1]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], edx
sub ecx, edi
test cl, 1
je 0x1018cff9
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1018cfbc
mov eax, dword [esi + 4]
test eax, eax
je 0x1018cfb8
cmp dword [eax], 0
jne 0x1018cfb8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018cfe2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018cfd2
sub eax, 1
jne 0x1018cfe2
shl ecx, 0x10
jmp 0x1018cfe2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x14]
inc edx
inc ebx
mov dword [esp + 0x40], edx
add ebp, ecx
mov dword [esp + 0x34], ebx
inc edi
inc dword [esp + 0x2c]
jmp 0x1018cffd
mov ebp, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1018d022
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d01e
cmp dword [eax], 0
jne 0x1018d01e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d048
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018d038
sub eax, 1
jne 0x1018d048
shl ecx, 0x10
jmp 0x1018d048
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x1018d073
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d06f
cmp dword [eax], 0
jne 0x1018d06f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d099
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1018d089
sub eax, 1
jne 0x1018d099
shl ecx, 0x10
jmp 0x1018d099
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x34]
lea eax, [ecx + ebp]
mov ecx, dword [esi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x1018d0c9
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d0c5
cmp dword [eax], 0
jne 0x1018d0c5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d0ef
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1018d0df
sub eax, 1
jne 0x1018d0ef
shl ecx, 0x10
jmp 0x1018d0ef
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
lea edx, [ebx + ecx]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1018d119
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d115
cmp dword [eax], 0
jne 0x1018d115
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d14e
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d137
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1018d14e
shl ecx, 0x10
jmp 0x1018d14e
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
push eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
push eax
push edx
push eax
push ebx
lea eax, [esp + 0x144]
push ebp
push eax
call fcn.10188430
mov edx, dword [esp + 0x5c]
add edi, 4
mov ebx, dword [esp + 0x50]
add edx, 4
add dword [esp + 0x48], 4
add ebx, 4
mov ecx, dword [esp + 0x58]
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], ebx
cmp edi, ecx
jb 0x1018cf90
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe0
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x3c], ecx
cmp edi, ecx
jae 0x1018cf54
lea eax, [edi + 3]
lea ebx, [edi + 2]
mov dword [esp + 0x2c], eax
lea edx, [edi + 1]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
nop
sub ecx, edi
test cl, 1
je 0x1018d253
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1018d21c
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d218
cmp dword [eax], 0
jne 0x1018d218
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d242
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018d232
sub eax, 1
jne 0x1018d242
shl ecx, 0x10
jmp 0x1018d242
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc edx
inc ebx
add ebp, ecx
mov dword [esp + 0x34], edx
inc edi
mov dword [esp + 0x38], ebx
inc dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1018d278
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d274
cmp dword [eax], 0
jne 0x1018d274
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d29e
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1018d28e
sub eax, 1
jne 0x1018d29e
shl ecx, 0x10
jmp 0x1018d29e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x1018d2c9
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d2c5
cmp dword [eax], 0
jne 0x1018d2c5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d2ef
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1018d2df
sub eax, 1
jne 0x1018d2ef
shl ecx, 0x10
jmp 0x1018d2ef
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
lea edx, [ebx + ecx]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x1018d319
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d315
cmp dword [eax], 0
jne 0x1018d315
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d34e
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d337
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1018d34e
shl ecx, 0x10
jmp 0x1018d34e
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1018d37c
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d378
cmp dword [eax], 0
jne 0x1018d378
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d3b1
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d39a
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1018d3b1
shl ecx, 0x10
jmp 0x1018d3b1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x1c]
push ecx
push eax
push ecx
push edx
push ebp
mov dword [esp + 0x28], eax
lea eax, [esp + 0x144]
push ebx
push eax
call fcn.10188430
mov edx, dword [esp + 0x50]
add edi, 4
mov ebx, dword [esp + 0x54]
add edx, 4
add dword [esp + 0x48], 4
add ebx, 4
mov ecx, dword [esp + 0x58]
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
cmp edi, ecx
jb 0x1018d1f0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe0
mov ebp, dword [esi + 0xc]
sub ebp, dword [esi + 8]
sar ebp, 3
cmp bl, 0x1f
mov eax, ebp
sete bl
and eax, 0xfffffffd
sub ebp, eax
mov dword [esp + 0x4c], eax
cmp ebp, eax
jae 0x1018d892
lea eax, [ebp + 4]
mov dword [esp + 0x2c], eax
lea edx, [ebp + 1]
lea eax, [ebp + 3]
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
lea eax, [ebp + 2]
mov dword [esp + 0x34], eax
nop
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test bl, bl
je 0x1018d659
cmp ebp, eax
jb 0x1018d48d
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d489
cmp dword [eax], 0
jne 0x1018d489
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d4b3
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x1018d4a3
sub eax, 1
jne 0x1018d4b3
shl ecx, 0x10
jmp 0x1018d4b3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
lea ebx, [ecx + edi]
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
mov dword [esp + 0x3c], ebx
sar eax, 3
cmp edx, eax
jb 0x1018d4e7
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d4e3
cmp dword [eax], 0
jne 0x1018d4e3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d50d
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1018d4fd
sub eax, 1
jne 0x1018d50d
shl ecx, 0x10
jmp 0x1018d50d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
lea edi, [ebx + ecx]
mov ecx, dword [esi + 8]
sub eax, ecx
mov ebx, dword [esp + 0x34]
sar eax, 3
cmp ebx, eax
jb 0x1018d539
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d535
cmp dword [eax], 0
jne 0x1018d535
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d55f
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x1018d54f
sub eax, 1
jne 0x1018d55f
shl ecx, 0x10
jmp 0x1018d55f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
add edx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x1018d58c
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d588
cmp dword [eax], 0
jne 0x1018d588
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d5c1
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d5aa
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1018d5c1
shl ecx, 0x10
jmp 0x1018d5c1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
sub eax, ebp
cmp eax, 5
jne 0x1018d64e
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1018d5fa
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d5f6
cmp dword [eax], 0
jne 0x1018d5f6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d62f
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d618
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1018d62f
shl ecx, 0x10
jmp 0x1018d62f
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x40]
inc ebx
inc dword [esp + 0x38]
add ecx, edi
inc dword [esp + 0x2c]
inc ebp
mov dword [esp + 0x34], ebx
xor bl, bl
mov dword [esp + 0x14], ecx
jmp 0x1018d833
mov dword [esp + 0x14], edi
xor bl, bl
jmp 0x1018d833
mov dword [esp + 0x3c], edi
cmp ebp, eax
jb 0x1018d677
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d673
cmp dword [eax], 0
jne 0x1018d673
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d69d
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x1018d68d
sub eax, 1
jne 0x1018d69d
shl ecx, 0x10
jmp 0x1018d69d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x1018d6cc
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d6c8
cmp dword [eax], 0
jne 0x1018d6c8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d6f2
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1018d6e2
sub eax, 1
jne 0x1018d6f2
shl ecx, 0x10
jmp 0x1018d6f2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
add edi, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
mov ebx, dword [esp + 0x34]
sar eax, 3
cmp ebx, eax
jb 0x1018d71d
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d719
cmp dword [eax], 0
jne 0x1018d719
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d743
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x1018d733
sub eax, 1
jne 0x1018d743
shl ecx, 0x10
jmp 0x1018d743
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x54]
mov eax, dword [esi + 0xc]
add edx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x1018d770
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d76c
cmp dword [eax], 0
jne 0x1018d76c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d7a5
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d78e
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1018d7a5
shl ecx, 0x10
jmp 0x1018d7a5
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edi + ecx]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
sub eax, ebp
cmp eax, 5
jne 0x1018d82d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1018d7de
mov eax, dword [esi + 4]
test eax, eax
je 0x1018d7da
cmp dword [eax], 0
jne 0x1018d7da
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1018d813
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1018d7fc
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1018d813
shl ecx, 0x10
jmp 0x1018d813
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x40]
add ecx, edx
inc dword [esp + 0x38]
inc ebx
inc ebp
mov dword [esp + 0x1c], ecx
inc dword [esp + 0x2c]
mov dword [esp + 0x34], ebx
jmp 0x1018d831
mov dword [esp + 0x1c], edx
mov bl, 1
push dword [esp + 0x1c]
lea eax, [esp + 0x134]
push dword [esp + 0x18]
push edx
push edi
push dword [esp + 0x64]
push dword [esp + 0x50]
push eax
call fcn.10188430
mov edx, dword [esp + 0x5c]
add ebp, 4
add dword [esp + 0x50], 4
add edx, 4
add dword [esp + 0x54], 4
add esp, 0x1c
add dword [esp + 0x2c], 4
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f14], edi
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x40], edx
cmp ebp, dword [esp + 0x4c]
jb 0x1018d460
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10189fe4
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x1018d8bc
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
movzx edx, cl
jmp 0x1018d8cf
mov eax, dword [ebx]
test eax, eax
je 0x1018d8cd
cmp dword [eax], 0
jne 0x1018d8cd
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x1018d8ed
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [ebx + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x10189fa9
mov eax, dword [ebx]
test eax, eax
je 0x1018d8fe
cmp dword [eax], 0
jne 0x1018d8fe
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x10189fa9
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x10189fe0
cmp bl, 0xf6
ja 0x1018d96c
mov ecx, dword [esi + 0x10]
lea edi, [edx - 0x8b]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1018da55
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp bl, 0xfa
ja 0x1018d9e7
shl edx, 8
cmp eax, ecx
jae 0x1018d98d
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
jmp 0x1018d9a0
mov eax, dword [edi]
test eax, eax
je 0x1018d99e
cmp dword [eax], 0
jne 0x1018d99e
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [esi + 0x10]
lea edi, [eax - 0xf694]
mov eax, dword [esi + 8]
add edi, edx
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1018da55
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
cmp bl, 0xfe
ja 0x1018da5c
shl edx, 8
cmp eax, ecx
jae 0x1018d9fe
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
jmp 0x1018da11
mov eax, dword [edi]
test eax, eax
je 0x1018da0f
cmp dword [eax], 0
jne 0x1018da0f
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [esi + 0x10]
mov edi, 0xfa94
sub edi, edx
mov edx, dword [esi + 0xc]
sub edi, eax
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1018da55
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
mov dword [edx], edi
jmp 0x1018db77
cmp eax, ecx
jae 0x1018da6b
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edx, cl
jmp 0x1018da7e
mov eax, dword [edi]
test eax, eax
je 0x1018da7c
cmp dword [eax], 0
jne 0x1018da7c
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x1018da91
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx ebx, cl
jmp 0x1018daa4
mov eax, dword [edi]
test eax, eax
je 0x1018daa2
cmp dword [eax], 0
jne 0x1018daa2
mov dword [eax], 0x55
xor ebx, ebx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x1018dab7
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edi, cl
jmp 0x1018daca
mov eax, dword [edi]
test eax, eax
je 0x1018dac8
cmp dword [eax], 0
jne 0x1018dac8
mov dword [eax], 0x55
xor edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1018dae9
mov ebp, dword [esp + 0x18]
mov cl, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
mov ebp, dword [esp + 0x1c]
movzx eax, cl
jmp 0x1018dafc
mov eax, dword [ecx]
test eax, eax
je 0x1018dafa
cmp dword [eax], 0
jne 0x1018dafa
mov dword [eax], 0x55
xor eax, eax
shl edx, 8
or edx, ebx
shl edx, 8
or edx, edi
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je 0x1018db92
cmp edx, 0x7d00
jg 0x1018db25
cmp edx, 0xffff8300
jge 0x1018db3a
mov ecx, dword [esp + 0x64]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x64], al
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x1018db75
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x10189fe4
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp edi, eax
jne 0x1018c3ae
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x10189fe8
cmp dword [eax], 0
jne 0x10189fe8
mov dword [eax], 0x82
jmp 0x10189fe4
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x2f], 0
je 0x1018dbe5
mov eax, 0x12
jmp 0x1018a29a
cmp dword [ecx + 0x244], 0
jne 0x1018dc04
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1018dc04
mov eax, 0x12
jmp 0x1018a29a
mov eax, dword [ecx + 0x20]
add ebx, dword [eax]
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1018dc35
push ebp
push ecx
call fcn.1018e910
push edi
push dword [esp + 0x34]
mov ebp, eax
call fcn.1018e910
mov ecx, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x3c], edi
test ebp, ebp
js 0x1018b263
test edi, edi
js 0x1018b263
cmp byte [ecx + 0x2e], 0
je 0x1018dcfa
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
push 2
mov eax, dword [eax + 0x9c]
mov edi, dword [eax]
push edi
mov dword [esp + 0xa4], edi
call fcn.1014a790
add esp, 8
test eax, eax
jne 0x1018a29a
mov edi, dword [edi + 0x58]
mov eax, 0x202
sub ebx, dword [esp + 0x70]
push ebx
mov word [edi + 4], ax
mov eax, dword [esp + 0x40]
mov dword [edi + 0x20], eax
mov eax, 2
mov dword [edi], ebp
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov word [edi + 0x24], ax
call fcn.1014d8b0
push dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.1014d8b0
mov ecx, dword [esp + 0x80]
add esp, 8
mov edx, dword [esp + 0x9c]
sar eax, 0x10
mov dword [edi + 0x2c], eax
mov dword [ecx + 0x80], 2
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x84], eax
mov dword [ecx + 0x48], 0x636f6d70
mov dword [edx + 0x54], 2
jmp 0x1018a296
push dword [ecx + 0xc]
call fcn.1014a8b0
lea eax, [esp + 0x3e54]
push eax
push ebp
push dword [esp + 0x34]
call fcn.10187d90
add esp, 0x10
test eax, eax
jne 0x1018a29a
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x20]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x98]
push eax
push 0
push 0
push 1
push dword [esp + 0x94]
lea eax, [esp + 0x3e64]
mov dword [esp + 0x60], ecx
push dword [esp + 0x80]
push eax
push dword [esp + 0x60]
call fcn.10189a70
lea eax, [esp + 0x3e70]
push eax
push dword [esp + 0x4c]
call fcn.10187c40
mov edx, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x23], 0
jne 0x1018dda7
mov eax, dword [edx + 0x20]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x20]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov dword [eax + 4], 0
lea eax, [esp + 0x3e50]
push eax
push edi
push edx
call fcn.10187d90
add esp, 0xc
test eax, eax
jne 0x1018a29a
sub ebx, dword [esp + 0x70]
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x78]
lea eax, [esp + 0x3e58]
push ebx
push 1
push dword [esp + 0x94]
push dword [esp + 0x80]
push eax
push dword [esp + 0x60]
call fcn.10189a70
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.10187c40
mov eax, dword [ebx + 0x20]
add esp, 0x28
mov ecx, dword [esp + 0x3c]
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
jmp 0x1018a296
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x1018de4f
cmp eax, 5
jne 0x1018de6e
cmp byte [esp + 0x23], 0
jne 0x1018de6e
push 0
push esi
call fcn.1018e1c0
mov ecx, dword [esp + 0x64]
add esp, 8
add eax, dword [esp + 0x80]
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x224], 0
jne 0x1018a296
cmp byte [esp + 0x2ebc], 0
je 0x1018df03
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.10188790
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x1018dee9
push 1
push dword [esp + 0x2ef4]
lea eax, [esp + 0x2eec]
push dword [esp + 0x2ef4]
push eax
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x144]
push eax
call fcn.10188a60
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
cmp byte [ebx + 9], 0
jne 0x1018a296
cmp byte [ebx + 8], 0
jne 0x1018a296
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x1018a296
cmp byte [esp + 0x3f10], 0
je 0x1018df3d
mov eax, 0x12
jmp 0x1018a29a
push esi
call fcn.1018e270
push esi
mov edx, eax
call fcn.1018e270
push esi
mov edi, eax
call fcn.1018e220
push esi
mov ebx, eax
call fcn.1018e220
mov ebp, eax
lea eax, [esp + 0x3e60]
push eax
push edx
push dword [esp + 0x40]
call fcn.10187cc0
add esp, 0x1c
test eax, eax
jne 0x1018a29a
lea eax, [esp + 0x78]
push eax
push ebx
push ebp
mov ebp, dword [esp + 0x50]
lea eax, [esp + 0x3e5c]
push 1
push dword [esp + 0x94]
push dword [esp + 0x80]
push eax
push ebp
call fcn.10189a70
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.10187c10
lea eax, [esp + 0x3e78]
push eax
push edi
push ebx
call fcn.10187cc0
add esp, 0x34
test eax, eax
jne 0x1018a29a
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 1
push dword [esp + 0x94]
lea eax, [esp + 0x3e64]
push dword [esp + 0x80]
push eax
push ebp
call fcn.10189a70
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.10187c10
add esp, 0x28
jmp 0x1018a296
xor eax, eax
jmp 0x1018a29e