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

Disassembly:
mov eax, 0x3eec
call fcn.101209c0
mov eax, dword [0x104fb780]
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.10122460
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.10122460
mov eax, dword [esp + 0x84]
movaps xmm0, xmmword [0x104b9950]
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.10122460
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.10122460
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.10122460
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 0x101edfab
test esi, esi
jmp 0x101edfaf
mov esi, ebx
test ebx, ebx
jns 0x101edfb3
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 0x101ee01c
mov eax, dword [ecx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x101ee021
mov ebx, 0x30
lea eax, [esp + 0xa0]
mov dword [esp + 0x74], ebx
push eax
push 0x14
push edi
call fcn.101b55d0
add esp, 0xc
mov esi, eax
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x94], esi
jne 0x101ee083
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.101b5620
add esp, 0x18
mov dword [esi + 8], eax
cmp dword [esp + 0xa0], 0
je 0x101ee08f
push esi
push edi
call fcn.101b55b0
add esp, 8
xor esi, esi
xor edi, edi
lea eax, [esi + 0x40]
jmp 0x101ee40e
mov dword [esi + 0xc], eax
lea eax, [esp + 0xdc]
push 0x11
push eax
mov dword [esi + 0x10], ebx
call fcn.101ea7b0
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 0x101f217c
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 0x101ee158
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x101f1a7d
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
mov ecx, dword [esp + 0x10]
jne 0x101ee158
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 0x101ee175
test ecx, ecx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x34], ebx
jmp 0x101ee1a2
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, cl
mov dword [esp + 0x34], ebx
cmp cl, 0xb
je 0x101ee18b
cmp cl, 0xe
jne 0x101ee19e
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 0x101ee23f
test ah, ah
jne 0x101ee1f0
cmp bl, 1
je 0x101ee1f0
cmp bl, 3
je 0x101ee1f0
cmp bl, 0xd
je 0x101ee1f0
cmp bl, 0xa
je 0x101ee1f0
cmp bl, 0xb
je 0x101ee1f0
cmp bl, 0xc
je 0x101ee1f0
cmp bl, 0xe
je 0x101ee1f0
cmp bl, 0x20
jae 0x101ee1f0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee158
mov edx, dword [esp + 0x60]
test edx, edx
jle 0x101ee21b
cmp bl, 0xa
je 0x101ee21b
cmp bl, 0xb
je 0x101ee21b
cmp bl, 0xc
je 0x101ee21b
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 0x101ee23f
cmp bl, 0x20
jae 0x101ee23f
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 0x101ee406
sub dword [esp + 0x70], 1
je 0x101ef3d3
movzx edx, bl
cmp edx, 0x1f
ja case.default.0x101ee263
jmp dword [edx*4 + 0x101f2184]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x101ee263.0
cmp byte [ebx + 0x5d], 0
jne 0x101ef3d3
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x101ee2ac
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee298
cmp dword [eax], 0
jne 0x101ee298
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 0x101ee158
cmp dword [eax - 4], 2
je 0x101ee2d8
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee2c4
cmp dword [eax], 0
jne 0x101ee2c4
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 0x101ee158
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x101ee263.0
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee158
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x101ee263.0
cmp dword [ebx + 0x60], 0
je 0x101ef3d3
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 0x101ee353
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 0x101ee40a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x101ee371
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x101ee36d
cmp dword [ecx], 0
jne 0x101ee36d
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x101ee395
cmp dword [eax - 4], 2
je 0x101ee38d
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee389
cmp dword [eax], 0
jne 0x101ee389
mov dword [eax], 0xa0
xor eax, eax
jmp 0x101ee395
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x101ef3d3
push eax
push esi
push edi
call fcn.101eb310
mov byte [ebx + 0x5d], 1
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x101ee150
test al, al
jne 0x101ee3cc
cmp byte [esp + 0xfc], al
jne case.0x101ee263.0
xor eax, eax
jmp 0x101ee3d6
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.101eb850
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
je 0x101f0d52
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x101ee41d
cmp dword [ebx], 0
jne 0x101ee41d
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.101b55b0
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.101b55b0
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.101b55b0
push edi
push dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
call fcn.101b55b0
add esp, 0x20
test esi, esi
je 0x101ee50a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.101b55b0
push esi
push edi
mov dword [esi + 8], 0
call fcn.101b55b0
add esp, 0x10
mov ecx, dword [esp + 0x3ef8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011f88a
add esp, 0x3eec
ret
test al, al
jne 0x101ee548
cmp byte [esp + 0xfc], al
jne case.0x101ee263.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x101ee3e3
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 0x101ee3e3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x101ee5ad
cmp byte [esp + 0x23], 0
jne 0x101ee5ad
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x101ee58e
sub eax, 1
jne 0x101ee59e
shl ecx, 0x10
jmp 0x101ee59e
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 0x101ee406
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101ee5e1
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee5dd
cmp dword [eax], 0
jne 0x101ee5dd
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101ee60b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101ee5fb
sub eax, 1
jne 0x101ee60b
shl ecx, 0x10
jmp 0x101ee60b
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 0x101f0d52
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.101eca80
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x101ee158
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x101f1a02
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 0x101ee68d
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee689
cmp dword [eax], 0
jne 0x101ee689
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x101ee6b3
mov eax, dword [edx + ebx*8 + 4]
mov edi, dword [edx + ebx*8]
sub eax, 1
je 0x101ee6a3
sub eax, 1
jne 0x101ee6b3
shl edi, 0x10
jmp 0x101ee6b3
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 0x101ee6e4
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee6e0
cmp dword [eax], 0
jne 0x101ee6e0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101ee70b
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x101ee6fb
sub eax, 1
jne 0x101ee70b
shl ecx, 0x10
jmp 0x101ee70b
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.101ec900
add ebx, 2
add esp, 0xc
cmp ebx, ebp
jb 0x101ee660
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee154
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 0x101ee7fd
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x101ee78a
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee786
cmp dword [eax], 0
jne 0x101ee786
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101ee7b0
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101ee7a0
sub eax, 1
jne 0x101ee7b0
shl ecx, 0x10
jmp 0x101ee7b0
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x101ee7c7
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
jmp 0x101ee7dc
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.101ec900
inc edi
add esp, 0xc
cmp edi, ebp
jb 0x101ee765
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee150
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 0x101eea92
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 0x101ee85d
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee859
cmp dword [eax], 0
jne 0x101ee859
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101ee884
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x101ee874
sub eax, 1
jne 0x101ee884
shl ecx, 0x10
jmp 0x101ee884
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 0x101ee8b8
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee8b4
cmp dword [eax], 0
jne 0x101ee8b4
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101ee8df
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x101ee8cf
sub eax, 1
jne 0x101ee8df
shl ecx, 0x10
jmp 0x101ee8df
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 0x101ee910
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee90c
cmp dword [eax], 0
jne 0x101ee90c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101ee936
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x101ee926
sub eax, 1
jne 0x101ee936
shl ecx, 0x10
jmp 0x101ee936
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 0x101ee96a
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee966
cmp dword [eax], 0
jne 0x101ee966
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101ee991
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x101ee981
sub eax, 1
jne 0x101ee991
shl ecx, 0x10
jmp 0x101ee991
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 0x101ee9bd
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee9b9
cmp dword [eax], 0
jne 0x101ee9b9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101ee9e4
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x101ee9d4
sub eax, 1
jne 0x101ee9e4
shl ecx, 0x10
jmp 0x101ee9e4
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 0x101eea10
mov eax, dword [esi + 4]
test eax, eax
je 0x101eea0c
cmp dword [eax], 0
jne 0x101eea0c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101eea37
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x101eea27
sub eax, 1
jne 0x101eea37
shl ecx, 0x10
jmp 0x101eea37
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.101ec5a0
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 0x101ee830
mov ebx, dword [esp + 0x34]
cmp bl, 0x18
jne 0x101eeb7d
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x101eeac8
mov eax, dword [esi + 4]
test eax, eax
je 0x101eeac4
cmp dword [eax], 0
jne 0x101eeac4
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x101eeaee
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x101eeade
sub eax, 1
jne 0x101eeaee
shl edx, 0x10
jmp 0x101eeaee
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 0x101eeb21
mov eax, dword [esi + 4]
test eax, eax
je 0x101eeb1d
cmp dword [eax], 0
jne 0x101eeb1d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101eeb47
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x101eeb37
sub eax, 1
jne 0x101eeb47
shl ecx, 0x10
jmp 0x101eeb47
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.101ec900
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee154
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee154
test al, al
je case.0x101ee263.0
cmp byte [esp + 0x2ebc], 0
je 0x101eec1c
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.101ec900
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x101eec02
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.101ecbd0
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 0x101ee158
cmp ecx, 0x10
jg 0x101ef3d3
inc ecx
cmp ecx, dword [esp + 0x8c]
jb 0x101eec5f
mov eax, dword [esp + 0x88]
test eax, eax
je 0x101eec5d
cmp dword [eax], 0
jne 0x101eec5d
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 0x101eec8f
mov eax, dword [esi + 4]
test eax, eax
je 0x101eec8b
cmp dword [eax], 0
jne 0x101eec8b
mov dword [eax], 0xa1
xor eax, eax
jmp 0x101eecb3
cmp dword [eax - 4], 2
je 0x101eecab
mov eax, dword [esi + 4]
test eax, eax
je 0x101eeca7
cmp dword [eax], 0
jne 0x101eeca7
mov dword [eax], 0xa0
xor eax, eax
jmp 0x101eecb3
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 0x101eece4
mov ecx, dword [edx + 0x268]
test ecx, ecx
je 0x101eece4
push ecx
push eax
call fcn.101b5170
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x101eece1
mov eax, dword [eax]
jmp 0x101eece4
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x18]
movups xmmword [ebx], xmm0
je 0x101eed89
mov ecx, dword [edx + 0x234]
add ecx, eax
cmp ecx, dword [edx + 0x22c]
jb 0x101eed11
mov eax, 1
jmp 0x101eedbe
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 0x101eed6d
mov eax, dword [eax + 0x264]
test eax, eax
je 0x101eed4b
test ecx, ecx
je 0x101eed47
mov eax, dword [eax + edx]
add eax, ecx
jmp 0x101eed77
xor eax, eax
jmp 0x101eed77
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 0x101eedbc
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jb 0x101eeda0
mov eax, 1
jmp 0x101eedbe
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 0x101ef3d3
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x101ee158
cmp ecx, 1
jl 0x101ef3d3
dec ecx
mov ebx, ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x8c]
jb 0x101eee05
mov edx, dword [esp + 0x88]
test edx, edx
je 0x101eee03
cmp dword [edx], 0
jne 0x101eee03
mov dword [edx], 0x82
xor ebx, ebx
imul ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x101ee158
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x101eee2e
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x101eee41
mov eax, dword [ebx]
test eax, eax
je 0x101eee3f
cmp dword [eax], 0
jne 0x101eee3f
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x5b], cl
cmp eax, 0x1d
ja case.0x101eee5b.9
movzx eax, byte [eax + 0x101f221c]
jmp dword [eax*4 + 0x101f2204]
push 0
push 0x104b9300
jmp 0x101eeec8
push 0
push 0x104b930c
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.101eb540
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 0x101ee158
push 0
push 0x104b9318
jmp 0x101eeec8
push 1
push 0x104b9324
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.101eb540
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x101ee154
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x101eef50.0
cmp cl, 0x26
jae case.0x101eef50.0
mov al, byte [eax + 8]
mov edx, dword [esp + 0x60]
test al, al
je 0x101eef44
test edx, edx
jle 0x101eef44
cmp cl, 0x11
je 0x101eef44
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x101ee158
movzx ecx, cl
cmp ecx, 0x21
ja case.0x101eef50.0
jmp dword [ecx*4 + 0x101f223c]
test al, al
je case.0x101eef50.0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x101eef84
mov eax, dword [esi + 4]
test eax, eax
je 0x101eef80
cmp dword [eax], 0
jne 0x101eef80
mov dword [eax], 0x82
xor edi, edi
jmp 0x101eefa8
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x101eef98
sub eax, 1
jne 0x101eefa8
shl edi, 0x10
jmp 0x101eefa8
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 0x101eefce
mov eax, dword [esi + 4]
test eax, eax
je 0x101eefca
cmp dword [eax], 0
jne 0x101eefca
mov dword [eax], 0x82
xor ebx, ebx
jmp 0x101eeff3
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
sub eax, 1
je 0x101eefe3
sub eax, 1
jne 0x101eeff3
shl ebx, 0x10
jmp 0x101eeff3
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 0x101ef019
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef015
cmp dword [eax], 0
jne 0x101ef015
mov dword [eax], 0x82
xor edx, edx
jmp 0x101ef03e
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x101ef02e
sub eax, 1
jne 0x101ef03e
shl edx, 0x10
jmp 0x101ef03e
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 0x101ef064
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef060
cmp dword [eax], 0
jne 0x101ef060
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101ef089
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x101ef079
sub eax, 1
jne 0x101ef089
shl ecx, 0x10
jmp 0x101ef089
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 0x101ef0ad
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef0c0
cmp dword [eax], 0
jne 0x101ef0c0
mov dword [eax], 0x82
jmp 0x101ef0c0
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 0x101ef0e6
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef0e2
cmp dword [eax], 0
jne 0x101ef0e2
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101ef10b
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, 1
je 0x101ef0fb
sub eax, 1
jne 0x101ef10b
shl ecx, 0x10
jmp 0x101ef10b
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 0x101ef12f
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef140
cmp dword [eax], 0
jne 0x101ef140
mov dword [eax], 0x82
jmp 0x101ef140
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 0x101ef152
mov eax, dword [eax]
jmp 0x101ef155
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.101eb850
add esp, 0x18
cmp byte [ebx + 0x224], 0
jne 0x101ee406
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 0x101ee158
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101ef1c4
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef1c0
cmp dword [eax], 0
jne 0x101ef1c0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ef1ee
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x101ef1de
sub eax, 1
jne 0x101ef1ee
shl edx, 0x10
jmp 0x101ef1ee
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 0x101ef217
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef2f9
cmp dword [eax], 0
jne 0x101ef2f9
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ee119
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x101ef231
sub eax, 1
jne 0x101ef241
shl ecx, 0x10
jmp 0x101ef241
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x101ef2f9
test edx, edx
je 0x101ef2f9
mov edx, 1
jmp 0x101ee119
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101ef279
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef275
cmp dword [eax], 0
jne 0x101ef275
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ef2a3
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x101ef293
sub eax, 1
jne 0x101ef2a3
shl edx, 0x10
jmp 0x101ef2a3
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 0x101ef2bf
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef2f1
cmp dword [eax], 0
jne 0x101ef2f1
mov dword [eax], 0xa1
jmp 0x101ef2f1
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x101ef2d9
sub eax, 1
jne 0x101ef2e9
shl ecx, 0x10
jmp 0x101ef2e9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x101ef251
test edx, edx
jne 0x101ef251
xor edx, edx
jmp 0x101ee119
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101ef31e
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef31a
cmp dword [eax], 0
jne 0x101ef31a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ef348
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x101ef338
sub eax, 1
jne 0x101ef348
shl edx, 0x10
jmp 0x101ef348
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 0x101ee131
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 0x101ee158
test al, al
je case.0x101eef50.0
mov eax, dword [esp + 0x28]
push esi
mov edx, dword [eax + 4]
call fcn.101f23e0
mov edi, eax
push esi
mov dword [esp + 0x44], edi
call fcn.101f23e0
push esi
mov ebp, eax
call fcn.101f2390
push esi
mov dword [esp + 0x84], eax
call fcn.101f2390
push esi
mov ebx, eax
call fcn.101f2390
add esp, 0x14
mov dword [esp + 0x70], eax
cmp byte [esp + 0x3f10], 0
je 0x101f1d41
mov eax, 0x12
jmp 0x101ee40a
test al, al
je case.0x101eef50.0
push esi
call fcn.101f2390
mov edx, dword [esp + 0x2c]
push esi
mov ecx, dword [edx + 0x24]
mov dword [ecx + 4], eax
call fcn.101f2390
mov ecx, dword [edx + 0x24]
push esi
mov dword [ecx], eax
call fcn.101f2390
push esi
mov edx, eax
call fcn.101f2390
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 0x101ee406
cmp byte [esp + 0x33], 0
mov ecx, dword [esp + 0x10]
je 0x101f0d5a
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 0x101ee158
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x101ef49f
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef487
cmp dword [eax], 0
jne 0x101ef487
mov dword [eax], 0xa1
xor ecx, ecx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.101f2430
add esp, 8
jmp 0x101ee150
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101ef4b9
sub eax, 1
jne 0x101ef4c9
shl ecx, 0x10
jmp 0x101ef4c9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jge 0x101ef489
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
cmp edx, eax
jne 0x101ef4f4
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee150
cmp dword [eax], 0
jne 0x101ee150
jmp 0x101ee145
mov dword [edx], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x101ee150
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x101ef52b
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef527
cmp dword [eax], 0
jne 0x101ef527
mov dword [eax], 0xa1
xor edi, edi
jmp 0x101ef555
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x101ef545
sub eax, 1
jne 0x101ef555
shl edi, 0x10
jmp 0x101ef555
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 0x101ef573
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef56f
cmp dword [eax], 0
jne 0x101ef56f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ef59d
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x101ef58d
sub eax, 1
jne 0x101ef59d
shl edx, 0x10
jmp 0x101ef59d
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 0x101ef5d2
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
jmp 0x101ee145
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 0x101ee158
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x101ef610
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef60c
cmp dword [eax], 0
jne 0x101ef60c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x101ef63a
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x101ef62a
sub eax, 1
jne 0x101ef63a
shl edi, 0x10
jmp 0x101ef63a
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 0x101ef658
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef654
cmp dword [eax], 0
jne 0x101ef654
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ef682
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x101ef672
sub eax, 1
jne 0x101ef682
shl edx, 0x10
jmp 0x101ef682
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 0x101ef6b7
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
jmp 0x101ee145
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 0x101ee158
test al, al
je 0x101ef6f6
cmp byte [esp + 0x64], 0
je 0x101ef6f6
push esi
call fcn.101f23e0
push esi
mov edx, eax
call fcn.101f23e0
mov byte [esp + 0x6c], 0
jmp 0x101ef704
push esi
call fcn.101f2390
push esi
mov edx, eax
call fcn.101f2390
add esp, 8
push edx
push eax
call fcn.101af220
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 0x101ef73a
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee150
cmp dword [eax], 0
jne 0x101ee150
jmp 0x101ee145
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x101ee150
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x101ef77e
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef76b
cmp dword [eax], 0
jne 0x101ef76b
mov dword [eax], 0xa1
xor ecx, ecx
neg ecx
push ecx
push esi
call fcn.101f2430
add esp, 8
jmp 0x101ee150
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101ef798
sub eax, 1
jne 0x101ef7a8
shl ecx, 0x10
jmp 0x101ef7a8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jl 0x101ef4d1
neg ecx
push ecx
push esi
call fcn.101f2430
add esp, 8
jmp 0x101ee150
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x101ef7e3
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef7df
cmp dword [eax], 0
jne 0x101ef7df
mov dword [eax], 0xa1
xor edi, edi
jmp 0x101ef80d
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x101ef7fd
sub eax, 1
jne 0x101ef80d
shl edi, 0x10
jmp 0x101ef80d
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 0x101ef82b
mov eax, dword [esi + 4]
test eax, eax
je 0x101ef827
cmp dword [eax], 0
jne 0x101ef827
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101ef855
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x101ef845
sub eax, 1
jne 0x101ef855
shl edx, 0x10
jmp 0x101ef855
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 0x101ef88a
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
jmp 0x101ee145
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 0x101ee158
mov ecx, dword [esp + 0x10]
test al, al
je 0x101ee158
push esi
call fcn.101f23e0
push esi
mov edx, eax
call fcn.101f23e0
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 0x101ef3d3
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.0x101ef908.4
movzx eax, byte [edx + 0x101f2304]
jmp dword [eax*4 + 0x101f22c4]
cmp ebx, 3
jne 0x101ef3d3
cmp byte [esp + 0x33], 0
je 0x101ef93d
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x1d4], 0
je 0x101ef3d3
cmp dword [eax + 0x1d8], 7
jne 0x101ef3d3
push edi
push esi
call fcn.101f2430
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.101f2430
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x50], 2
jmp 0x101ee154
test ebx, ebx
jne 0x101ef3d3
cmp byte [esp + 0x33], bl
je 0x101efc37
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 0x101ef9a2
push ebx
push 6
push edx
call fcn.101afc40
add esp, 0xc
test eax, eax
jne 0x101ee406
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 0x101ee154
test ebx, ebx
jne 0x101ef3d3
cmp byte [esp + 0x33], bl
je 0x101efc37
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x1d4], ebx
je 0x101ef3d3
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x101efc37
push 1
push ecx
call fcn.101e8150
add esp, 8
test eax, eax
jne 0x101ef3d3
lea eax, [edi - 3]
cmp edi, 3
jg 0x101efa21
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 0x101efa47
cmp edi, 6
jne 0x101efc3b
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.101ec5a0
mov ebx, dword [esp + 0x34]
add esp, 0x1c
jmp 0x101ee150
cmp ebx, 1
jne 0x101ef3d3
cmp byte [esp + 0x33], 0
je 0x101efae4
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 0x101ee154
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
jmp 0x101ee154
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x284]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x101ef3d3
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 0x101ef3d3
lea edi, [ecx + ebp]
test ecx, ecx
je 0x101efbfb
mov dword [esp + 0x54], ecx
push ebp
push esi
call fcn.101f2330
add esp, 8
mov ebp, eax
cmp dword [ebx], 1
jbe 0x101efbd4
mov eax, 1
mov ebx, 4
sub eax, edi
mov dword [esp + 0x38], eax
push edi
push esi
call fcn.101f2330
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 0x101efb71
mov ebx, ecx
push ebp
mov ebp, dword [esp + 0x50]
push ebp
push esi
call fcn.101f2470
inc ebp
add esp, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x4c], ebp
jne 0x101efb50
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 0x101efc2b
mov eax, dword [esi + 4]
test eax, eax
je 0x101efc37
cmp dword [eax], 0
jne 0x101efc37
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x101ee150
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x101ee150
mov ebp, dword [esp + 0x28]
mov edi, dword [ebp + 0x284]
mov edx, dword [ebp + 0x28c]
cmp ebx, 1
jne 0x101ef3d3
test edi, edi
je 0x101ef3d3
push esi
call fcn.101f23e0
mov ebx, eax
add esp, 4
mov eax, dword [edi]
cmp edx, eax
jb 0x101ef3d3
sub edx, eax
cmp edx, ebx
jb 0x101ef3d3
mov edx, dword [ebp + 0x288]
test edx, edx
je 0x101efc37
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x101efc37
shl eax, 2
push eax
push ecx
lea eax, [edx + ebx*4]
push eax
call fcn.101219d0
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x101ee150
cmp ebx, 2
jne 0x101ef3d3
push esi
call fcn.101f2390
push esi
mov edx, eax
call fcn.101f2390
add eax, edx
push eax
push esi
call fcn.101f2430
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x101ee154
cmp ebx, 2
jne 0x101ef3d3
push esi
call fcn.101f2390
push esi
mov edx, eax
call fcn.101f2390
sub eax, edx
push eax
push esi
call fcn.101f2430
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x101ee154
cmp ebx, 2
jne 0x101ef3d3
push esi
call fcn.101f2390
push esi
mov dword [esp + 0x54], eax
call fcn.101f2390
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.101f2430
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x101ee154
cmp ebx, 2
jne 0x101ef3d3
push esi
call fcn.101f2390
push esi
mov edx, eax
call fcn.101f2390
add esp, 8
test edx, edx
je 0x101ef3d3
push edx
push eax
call fcn.101af220
push eax
push esi
call fcn.101f2430
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x101ee154
cmp ebx, 2
jne 0x101ef3d3
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x284], 0
je 0x101ef3d3
push esi
call fcn.101f23e0
mov edx, eax
add esp, 4
cmp edx, dword [ebx + 0x28c]
jae 0x101ef3d3
push esi
call fcn.101f2390
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 0x101ee154
cmp ebx, 1
jne 0x101ef3d3
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x284], 0
je 0x101ef3d3
push esi
call fcn.101f23e0
add esp, 4
cmp eax, dword [edx + 0x28c]
jae 0x101ef3d3
mov ecx, dword [edx + 0x288]
push dword [ecx + eax*4]
jmp 0x101efd76
cmp ebx, 4
jne 0x101ef3d3
push esi
call fcn.101f2390
push esi
mov ebx, eax
call fcn.101f2390
push esi
mov edi, eax
call fcn.101f2390
push esi
mov edx, eax
call fcn.101f2390
cmp edi, ebx
cmovle edx, eax
push edx
push esi
call fcn.101f2430
mov edi, dword [esp + 0x2c]
add esp, 0x18
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x101ee154
test ebx, ebx
jne 0x101ef3d3
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.101f2430
mov edi, dword [esp + 0x1c]
jmp 0x101efd7c
test ebx, ebx
js 0x101ef3d3
test edx, edx
js 0x101ef3d3
cmp ebx, 3
mov eax, ebx
mov ecx, 3
cmovg eax, ecx
mov dword [esp + 0x60], eax
cmp eax, 1
jb 0x101efc37
lea edx, [esp + eax*4 + 0x3e4c]
mov edi, eax
push esi
call fcn.101f2390
add esp, 4
mov dword [edx], eax
lea edx, [edx - 4]
sub edi, 1
jne 0x101eff34
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x101ee150
mov ecx, dword [esp + 0x10]
test al, al
je 0x101ee158
cmp dword [esp + 0x50], 0
jle 0x101eff70
dec dword [esp + 0x50]
jmp 0x101ee154
test edx, edx
je 0x101ef3d3
push dword [esp + edx*4 + 0x3e4c]
dec edx
push esi
mov dword [esp + 0x68], edx
call fcn.101f2430
add esp, 8
jmp 0x101ee154
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esi + 8]
jne 0x101effbd
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0xa1
jmp 0x101ee154
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x101ee158
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x101effe6
mov eax, dword [esi + 4]
test eax, eax
je 0x101effe2
cmp dword [eax], 0
jne 0x101effe2
mov dword [eax], 0xa1
xor edi, edi
jmp 0x101f000a
cmp dword [eax - 4], 2
je 0x101f0002
mov eax, dword [esi + 4]
test eax, eax
je 0x101efffe
cmp dword [eax], 0
jne 0x101efffe
mov dword [eax], 0xa0
xor edi, edi
jmp 0x101f000a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101f0028
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0024
cmp dword [eax], 0
jne 0x101f0024
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101f0052
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f0042
sub eax, 1
jne 0x101f0052
shl ecx, 0x10
jmp 0x101f0052
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp edi, 0x20
jae 0x101ee150
mov dword [esp + edi*4 + 0x3e78], ecx
jmp 0x101ee150
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x101f0085
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0081
cmp dword [eax], 0
jne 0x101f0081
mov dword [eax], 0xa1
xor eax, eax
jmp 0x101f00a9
cmp dword [eax - 4], 2
je 0x101f00a1
mov eax, dword [esi + 4]
test eax, eax
je 0x101f009d
cmp dword [eax], 0
jne 0x101f009d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x101f00a9
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp eax, 0x20
jae 0x101ee158
push dword [esp + eax*4 + 0x3e78]
push esi
call fcn.101f2430
add esp, 8
jmp 0x101ee154
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x101f00e9
mov eax, dword [esi + 4]
test eax, eax
je 0x101f00e5
cmp dword [eax], 0
jne 0x101f00e5
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x101f0114
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x101f0104
sub eax, 1
jne 0x101f0114
shl ebp, 0x10
jmp 0x101f0114
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 0x101f0132
mov eax, dword [esi + 4]
test eax, eax
je 0x101f012e
cmp dword [eax], 0
jne 0x101f012e
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x101f015c
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x101f014c
sub eax, 1
jne 0x101f015c
shl ebx, 0x10
jmp 0x101f015c
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 0x101f017a
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0176
cmp dword [eax], 0
jne 0x101f0176
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101f01a4
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x101f0194
sub eax, 1
jne 0x101f01a4
shl edx, 0x10
jmp 0x101f01a4
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 0x101f01c2
mov eax, dword [esi + 4]
test eax, eax
je 0x101f01be
cmp dword [eax], 0
jne 0x101f01be
mov dword [eax], 0xa1
xor edi, edi
jmp 0x101f01ec
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x101f01dc
sub eax, 1
jne 0x101f01ec
shl edi, 0x10
jmp 0x101f01ec
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 0x101f022b
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 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
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 0x101ee150
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 0x101ef4db
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x101ee150
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x101f02c9
mov eax, dword [esi + 4]
test eax, eax
je 0x101f02bf
cmp dword [eax], 0
jne 0x101f02bf
mov dword [eax], 0xa1
mov dword [esp + 0x40], 0
jmp 0x101f0303
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x101f02ed
sub eax, 1
mov eax, dword [ecx]
je 0x101f02e4
mov dword [esp + 0x40], eax
jmp 0x101f0303
shl eax, 0x10
mov dword [esp + 0x40], eax
jmp 0x101f0303
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 0x101f0327
mov eax, dword [esi + 4]
test eax, eax
je 0x101f031d
cmp dword [eax], 0
jne 0x101f031d
mov dword [eax], 0xa1
mov dword [esp + 0x34], 0
jmp 0x101f035e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f034b
sub eax, 1
je 0x101f0342
mov dword [esp + 0x34], ecx
jmp 0x101f035e
shl ecx, 0x10
mov dword [esp + 0x34], ecx
jmp 0x101f035e
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 0x101f03b3
mov eax, dword [esi + 4]
test eax, eax
je 0x101ee150
cmp dword [eax], 0
jne 0x101ee150
mov dword [eax], 0x82
jmp 0x101ee154
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 0x101ee154
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x101f0419
mov eax, dword [esi + 4]
test eax, eax
je 0x101f03e6
cmp dword [eax], 0
jne 0x101f03e6
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 0x101f01fc
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 0x101ee150
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x101f0434
sub eax, 1
jne 0x101f0444
shl ebp, 0x10
jmp 0x101f0444
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x101f03e6
mov eax, ebp
mov edi, ebp
sar eax, 1
cmp ebp, 0xa
cmovge edi, eax
push edi
push ebp
call fcn.101af220
lea ebx, [edi + 1]
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x101f03e8
nop dword [eax]
push ebx
push ebp
mov edi, ebx
call fcn.101af220
inc ebx
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x101f0470
jmp 0x101f03e8
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101f04a8
mov eax, dword [esi + 4]
test eax, eax
je 0x101f04a4
cmp dword [eax], 0
jne 0x101f04a4
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101f04d2
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x101f04c2
sub eax, 1
jne 0x101f04d2
shl edx, 0x10
jmp 0x101f04d2
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 0x101f04f6
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0506
cmp dword [eax], 0
jne 0x101f0506
mov dword [eax], 0x82
jmp 0x101f0506
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 0x101ee131
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 0x101ee158
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101f0555
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0551
cmp dword [eax], 0
jne 0x101f0551
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101f057f
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x101f056f
sub eax, 1
jne 0x101f057f
shl edx, 0x10
jmp 0x101f057f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
push esi
call fcn.101f2390
push edx
push esi
mov ebx, eax
call fcn.101f2430
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 0x101f05c8
mov eax, dword [esi + 4]
test eax, eax
je 0x101efc3b
cmp dword [eax], 0
jne 0x101efc3b
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x101ee154
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 0x101ee150
push esi
call fcn.101f23e0
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
sar ecx, 3
test ecx, ecx
je 0x101ee150
test eax, eax
js 0x101f0609
cmp eax, ecx
jb 0x101f0607
xor ecx, ecx
jmp 0x101f060a
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.101f2330
push eax
push esi
call fcn.101f2430
add esp, 0x10
jmp 0x101ee154
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x101f063e
mov eax, dword [esi + 4]
test eax, eax
je 0x101f063a
cmp dword [eax], 0
jne 0x101f063a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101f0662
cmp dword [eax - 4], 2
je 0x101f065a
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0656
cmp dword [eax], 0
jne 0x101f0656
mov dword [eax], 0xa0
xor edx, edx
jmp 0x101f0662
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x101f0680
mov eax, dword [esi + 4]
test eax, eax
je 0x101f067c
cmp dword [eax], 0
jne 0x101f067c
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101f06a4
cmp dword [eax - 4], 2
je 0x101f069c
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0698
cmp dword [eax], 0
jne 0x101f0698
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x101f06a4
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 0x101ee154
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp ecx, eax
jbe 0x101f06f1
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
test edx, edx
jns 0x101f0700
neg edx
mov eax, edx
cdq
idiv ecx
neg edx
jmp 0x101f0705
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x38], edx
test edx, edx
je 0x101ee154
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 0x101f0761
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 0x101f0771
sub edi, ecx
sub ebx, eax
jmp 0x101f0779
test edi, edi
jns 0x101f0779
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 0x101f0736
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x101ee150
test al, al
je case.0x101eef50.0
cmp byte [esp + 0x33], 0
je case.0x101eef50.0
push esi
call fcn.101f2390
mov ebp, eax
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f20], ebp
call fcn.101f2390
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 0x101ee158
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x101ee263.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x101f084d
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0849
cmp dword [eax], 0
jne 0x101f0849
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101f0877
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x101f0867
sub eax, 1
jne 0x101f0877
shl ecx, 0x10
jmp 0x101f0877
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 0x101f08a8
mov eax, dword [esi + 4]
test eax, eax
je 0x101f08a4
cmp dword [eax], 0
jne 0x101f08a4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101f08d2
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f08c2
sub eax, 1
jne 0x101f08d2
shl ecx, 0x10
jmp 0x101f08d2
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 0x101ee406
cmp byte [esp + 0x33], 0
mov ebx, dword [esp + 0x18]
je case.0x101eef50.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 0x101ee158
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
je 0x101f1fac
test ah, ah
jne 0x101f1fac
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.101eca80
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 0x101f09ed
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 0x101f09ca
test ebp, ebp
je 0x101f09c8
cmp dword [ebp], 0
jne 0x101f09c8
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 0x101f09b0
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 0x101ee158
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x101f0a1e
cmp byte [esp + 0xfc], 0
jne case.0x101ee263.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.101eb850
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x101ee406
cmp bl, 0x13
jne 0x101f0a87
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.101edb60
mov eax, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x101ee158
push 0xf1c
lea eax, [esp + 0x2f38]
push 0
push eax
call fcn.10122460
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.101edb60
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.101ed0b0
mov eax, dword [esi + 8]
add esp, 0x30
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x101ee158
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x101f0bab
cmp byte [esp + 0x23], 0
jne 0x101f0bab
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f0b8c
sub eax, 1
jne 0x101f0b9c
shl ecx, 0x10
jmp 0x101f0b9c
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 0x101ee406
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101f0bdf
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0bdb
cmp dword [eax], 0
jne 0x101f0bdb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101f0c09
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f0bf9
sub eax, 1
jne 0x101f0c09
shl ecx, 0x10
jmp 0x101f0c09
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 0x101f0c44
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0c30
cmp dword [eax], 0
jne 0x101f0c30
mov dword [eax], 0xa1
xor ecx, ecx
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x101ee618
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f0c6e
sub eax, 1
jne 0x101f0c7e
shl ecx, 0x10
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x101ee618
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 0x101ee618
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x101f0cda
cmp byte [esp + 0x23], 0
jne 0x101f0cda
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f0cbb
sub eax, 1
jne 0x101f0ccb
shl ecx, 0x10
jmp 0x101f0ccb
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 0x101ee406
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101f0d0e
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0d0a
cmp dword [eax], 0
jne 0x101f0d0a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101f0d38
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101f0d28
sub eax, 1
jne 0x101f0d38
shl ecx, 0x10
jmp 0x101f0d38
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 0x101ee625
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x101ee158
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 0x101f0e5f
lea ebx, [edi + 6]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x101f0da5
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0da1
cmp dword [eax], 0
jne 0x101f0da1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f0dcb
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101f0dbb
sub eax, 1
jne 0x101f0dcb
shl ecx, 0x10
jmp 0x101f0dcb
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 0x101f0e04
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0e00
cmp dword [eax], 0
jne 0x101f0e00
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f0e2b
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x101f0e1b
sub eax, 1
jne 0x101f0e2b
shl ecx, 0x10
jmp 0x101f0e2b
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.101ec900
add ebx, 2
add esp, 0xc
add edi, 2
cmp ebx, ebp
jb 0x101f0d80
cmp edi, ebp
jae 0x101f10c0
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 0x101f0e98
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0e94
cmp dword [eax], 0
jne 0x101f0e94
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f0ebf
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x101f0eaf
sub eax, 1
jne 0x101f0ebf
shl ecx, 0x10
jmp 0x101f0ebf
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 0x101f0ef1
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0eed
cmp dword [eax], 0
jne 0x101f0eed
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f0f18
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x101f0f08
sub eax, 1
jne 0x101f0f18
shl ecx, 0x10
jmp 0x101f0f18
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 0x101f0f47
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0f43
cmp dword [eax], 0
jne 0x101f0f43
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f0f6d
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101f0f5d
sub eax, 1
jne 0x101f0f6d
shl ecx, 0x10
jmp 0x101f0f6d
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 0x101f0f97
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0f93
cmp dword [eax], 0
jne 0x101f0f93
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f0fbe
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x101f0fae
sub eax, 1
jne 0x101f0fbe
shl ecx, 0x10
jmp 0x101f0fbe
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 0x101f0fe8
mov eax, dword [esi + 4]
test eax, eax
je 0x101f0fe4
cmp dword [eax], 0
jne 0x101f0fe4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f100f
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x101f0fff
sub eax, 1
jne 0x101f100f
shl ecx, 0x10
jmp 0x101f100f
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 0x101f103e
mov eax, dword [esi + 4]
test eax, eax
je 0x101f103a
cmp dword [eax], 0
jne 0x101f103a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1065
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x101f1055
sub eax, 1
jne 0x101f1065
shl ecx, 0x10
jmp 0x101f1065
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.101ec5a0
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 0x101f0e70
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee150
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee150
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 0x101f10c4
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 0x101f1169
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x101f112c
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1128
cmp dword [eax], 0
jne 0x101f1128
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1152
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101f1142
sub eax, 1
jne 0x101f1152
shl ecx, 0x10
jmp 0x101f1152
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 0x101f116d
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 0x101f1192
mov eax, dword [esi + 4]
test eax, eax
je 0x101f118e
cmp dword [eax], 0
jne 0x101f118e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f11b8
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101f11a8
sub eax, 1
jne 0x101f11b8
shl ecx, 0x10
jmp 0x101f11b8
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 0x101f11e3
mov eax, dword [esi + 4]
test eax, eax
je 0x101f11df
cmp dword [eax], 0
jne 0x101f11df
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1209
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x101f11f9
sub eax, 1
jne 0x101f1209
shl ecx, 0x10
jmp 0x101f1209
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 0x101f1239
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1235
cmp dword [eax], 0
jne 0x101f1235
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f125f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x101f124f
sub eax, 1
jne 0x101f125f
shl ecx, 0x10
jmp 0x101f125f
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 0x101f1289
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1285
cmp dword [eax], 0
jne 0x101f1285
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f12be
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f12a7
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x101f12be
shl ecx, 0x10
jmp 0x101f12be
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.101ec5a0
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 0x101f1100
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee150
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 0x101f10c4
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 0x101f13c3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x101f138c
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1388
cmp dword [eax], 0
jne 0x101f1388
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f13b2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101f13a2
sub eax, 1
jne 0x101f13b2
shl ecx, 0x10
jmp 0x101f13b2
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 0x101f13e8
mov eax, dword [esi + 4]
test eax, eax
je 0x101f13e4
cmp dword [eax], 0
jne 0x101f13e4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f140e
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101f13fe
sub eax, 1
jne 0x101f140e
shl ecx, 0x10
jmp 0x101f140e
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 0x101f1439
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1435
cmp dword [eax], 0
jne 0x101f1435
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f145f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x101f144f
sub eax, 1
jne 0x101f145f
shl ecx, 0x10
jmp 0x101f145f
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 0x101f1489
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1485
cmp dword [eax], 0
jne 0x101f1485
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f14be
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f14a7
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x101f14be
shl ecx, 0x10
jmp 0x101f14be
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 0x101f14ec
mov eax, dword [esi + 4]
test eax, eax
je 0x101f14e8
cmp dword [eax], 0
jne 0x101f14e8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1521
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f150a
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x101f1521
shl ecx, 0x10
jmp 0x101f1521
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.101ec5a0
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 0x101f1360
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee150
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 0x101f1a02
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 0x101f17c9
cmp ebp, eax
jb 0x101f15fd
mov eax, dword [esi + 4]
test eax, eax
je 0x101f15f9
cmp dword [eax], 0
jne 0x101f15f9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1623
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x101f1613
sub eax, 1
jne 0x101f1623
shl ecx, 0x10
jmp 0x101f1623
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 0x101f1657
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1653
cmp dword [eax], 0
jne 0x101f1653
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f167d
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x101f166d
sub eax, 1
jne 0x101f167d
shl ecx, 0x10
jmp 0x101f167d
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 0x101f16a9
mov eax, dword [esi + 4]
test eax, eax
je 0x101f16a5
cmp dword [eax], 0
jne 0x101f16a5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f16cf
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x101f16bf
sub eax, 1
jne 0x101f16cf
shl ecx, 0x10
jmp 0x101f16cf
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 0x101f16fc
mov eax, dword [esi + 4]
test eax, eax
je 0x101f16f8
cmp dword [eax], 0
jne 0x101f16f8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1731
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f171a
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x101f1731
shl ecx, 0x10
jmp 0x101f1731
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 0x101f17be
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x101f176a
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1766
cmp dword [eax], 0
jne 0x101f1766
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f179f
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f1788
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x101f179f
shl ecx, 0x10
jmp 0x101f179f
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 0x101f19a3
mov dword [esp + 0x14], edi
xor bl, bl
jmp 0x101f19a3
mov dword [esp + 0x3c], edi
cmp ebp, eax
jb 0x101f17e7
mov eax, dword [esi + 4]
test eax, eax
je 0x101f17e3
cmp dword [eax], 0
jne 0x101f17e3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f180d
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x101f17fd
sub eax, 1
jne 0x101f180d
shl ecx, 0x10
jmp 0x101f180d
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 0x101f183c
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1838
cmp dword [eax], 0
jne 0x101f1838
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1862
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x101f1852
sub eax, 1
jne 0x101f1862
shl ecx, 0x10
jmp 0x101f1862
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 0x101f188d
mov eax, dword [esi + 4]
test eax, eax
je 0x101f1889
cmp dword [eax], 0
jne 0x101f1889
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f18b3
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x101f18a3
sub eax, 1
jne 0x101f18b3
shl ecx, 0x10
jmp 0x101f18b3
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 0x101f18e0
mov eax, dword [esi + 4]
test eax, eax
je 0x101f18dc
cmp dword [eax], 0
jne 0x101f18dc
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1915
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f18fe
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x101f1915
shl ecx, 0x10
jmp 0x101f1915
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 0x101f199d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x101f194e
mov eax, dword [esi + 4]
test eax, eax
je 0x101f194a
cmp dword [eax], 0
jne 0x101f194a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101f1983
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101f196c
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x101f1983
shl ecx, 0x10
jmp 0x101f1983
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 0x101f19a1
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.101ec5a0
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 0x101f15d0
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x101ee154
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x101f1a2c
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
movzx edx, cl
jmp 0x101f1a3f
mov eax, dword [ebx]
test eax, eax
je 0x101f1a3d
cmp dword [eax], 0
jne 0x101f1a3d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x101f1a5d
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [ebx + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x101ee119
mov eax, dword [ebx]
test eax, eax
je 0x101f1a6e
cmp dword [eax], 0
jne 0x101f1a6e
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x101ee119
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x101ee150
cmp bl, 0xf6
ja 0x101f1adc
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 0x101f1bc5
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp bl, 0xfa
ja 0x101f1b57
shl edx, 8
cmp eax, ecx
jae 0x101f1afd
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
jmp 0x101f1b10
mov eax, dword [edi]
test eax, eax
je 0x101f1b0e
cmp dword [eax], 0
jne 0x101f1b0e
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 0x101f1bc5
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
cmp bl, 0xfe
ja 0x101f1bcc
shl edx, 8
cmp eax, ecx
jae 0x101f1b6e
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
jmp 0x101f1b81
mov eax, dword [edi]
test eax, eax
je 0x101f1b7f
cmp dword [eax], 0
jne 0x101f1b7f
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 0x101f1bc5
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
mov dword [edx], edi
jmp 0x101f1ce7
cmp eax, ecx
jae 0x101f1bdb
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edx, cl
jmp 0x101f1bee
mov eax, dword [edi]
test eax, eax
je 0x101f1bec
cmp dword [eax], 0
jne 0x101f1bec
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x101f1c01
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx ebx, cl
jmp 0x101f1c14
mov eax, dword [edi]
test eax, eax
je 0x101f1c12
cmp dword [eax], 0
jne 0x101f1c12
mov dword [eax], 0x55
xor ebx, ebx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x101f1c27
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edi, cl
jmp 0x101f1c3a
mov eax, dword [edi]
test eax, eax
je 0x101f1c38
cmp dword [eax], 0
jne 0x101f1c38
mov dword [eax], 0x55
xor edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x101f1c59
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 0x101f1c6c
mov eax, dword [ecx]
test eax, eax
je 0x101f1c6a
cmp dword [eax], 0
jne 0x101f1c6a
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 0x101f1d02
cmp edx, 0x7d00
jg 0x101f1c95
cmp edx, 0xffff8300
jge 0x101f1caa
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 0x101f1ce5
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
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 0x101ee154
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 0x101f051e
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x101ee158
cmp dword [eax], 0
jne 0x101ee158
mov dword [eax], 0x82
jmp 0x101ee154
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x2f], 0
je 0x101f1d55
mov eax, 0x12
jmp 0x101ee40a
cmp dword [ecx + 0x244], 0
jne 0x101f1d74
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x101f1d74
mov eax, 0x12
jmp 0x101ee40a
mov eax, dword [ecx + 0x20]
add ebx, dword [eax]
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x101f1da5
push ebp
push ecx
call fcn.101f2a80
push edi
push dword [esp + 0x34]
mov ebp, eax
call fcn.101f2a80
mov ecx, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x3c], edi
test ebp, ebp
js 0x101ef3d3
test edi, edi
js 0x101ef3d3
cmp byte [ecx + 0x2e], 0
je 0x101f1e6a
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.101afe10
add esp, 8
test eax, eax
jne 0x101ee40a
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.101b2da0
push dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.101b2da0
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 0x101ee406
push dword [ecx + 0xc]
call fcn.101aff30
lea eax, [esp + 0x3e54]
push eax
push ebp
push dword [esp + 0x34]
call fcn.101ebf00
add esp, 0x10
test eax, eax
jne 0x101ee40a
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.101edbe0
lea eax, [esp + 0x3e70]
push eax
push dword [esp + 0x4c]
call fcn.101ebdb0
mov edx, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x23], 0
jne 0x101f1f17
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.101ebf00
add esp, 0xc
test eax, eax
jne 0x101ee40a
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.101edbe0
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.101ebdb0
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 0x101ee406
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x101f1fbf
cmp eax, 5
jne 0x101f1fde
cmp byte [esp + 0x23], 0
jne 0x101f1fde
push 0
push esi
call fcn.101f2330
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 0x101ee406
cmp byte [esp + 0x2ebc], 0
je 0x101f2073
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.101ec900
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x101f2059
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.101ecbd0
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
cmp byte [ebx + 9], 0
jne 0x101ee406
cmp byte [ebx + 8], 0
jne 0x101ee406
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x101ee406
cmp byte [esp + 0x3f10], 0
je 0x101f20ad
mov eax, 0x12
jmp 0x101ee40a
push esi
call fcn.101f23e0
push esi
mov edx, eax
call fcn.101f23e0
push esi
mov edi, eax
call fcn.101f2390
push esi
mov ebx, eax
call fcn.101f2390
mov ebp, eax
lea eax, [esp + 0x3e60]
push eax
push edx
push dword [esp + 0x40]
call fcn.101ebe30
add esp, 0x1c
test eax, eax
jne 0x101ee40a
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.101edbe0
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.101ebd80
lea eax, [esp + 0x3e78]
push eax
push edi
push ebx
call fcn.101ebe30
add esp, 0x34
test eax, eax
jne 0x101ee40a
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.101edbe0
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.101ebd80
add esp, 0x28
jmp 0x101ee406
xor eax, eax
jmp 0x101ee40e