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

Disassembly:
mov eax, 0x3eec
call fcn.10124e00
mov eax, dword [0x103b0040]
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 sub.VCRUNTIME140.dll_memset
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 sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x84]
movaps xmm0, xmmword [0x10141e20]
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 sub.VCRUNTIME140.dll_memset
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 sub.VCRUNTIME140.dll_memset
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 sub.VCRUNTIME140.dll_memset
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 0x100ec11b
test esi, esi
jmp 0x100ec11f
mov esi, ebx
test ebx, ebx
jns 0x100ec123
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 0x100ec18c
mov eax, dword [ecx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x100ec191
mov ebx, 0x30
lea eax, [esp + 0xa0]
mov dword [esp + 0x74], ebx
push eax
push 0x14
push edi
call fcn.100b3680
add esp, 0xc
mov esi, eax
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x94], esi
jne 0x100ec1f3
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.100b36d0
add esp, 0x18
mov dword [esi + 8], eax
cmp dword [esp + 0xa0], 0
je 0x100ec1ff
push esi
push edi
call fcn.100b3660
add esp, 8
xor esi, esi
xor edi, edi
lea eax, [esi + 0x40]
jmp 0x100ec57e
mov dword [esi + 0xc], eax
lea eax, [esp + 0xdc]
push 0x11
push eax
mov dword [esi + 0x10], ebx
call fcn.100e8920
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 0x100f02ec
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 0x100ec2c8
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x100efbed
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
mov ecx, dword [esp + 0x10]
jne 0x100ec2c8
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 0x100ec2e5
test ecx, ecx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x34], ebx
jmp 0x100ec312
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, cl
mov dword [esp + 0x34], ebx
cmp cl, 0xb
je 0x100ec2fb
cmp cl, 0xe
jne 0x100ec30e
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 0x100ec3af
test ah, ah
jne 0x100ec360
cmp bl, 1
je 0x100ec360
cmp bl, 3
je 0x100ec360
cmp bl, 0xd
je 0x100ec360
cmp bl, 0xa
je 0x100ec360
cmp bl, 0xb
je 0x100ec360
cmp bl, 0xc
je 0x100ec360
cmp bl, 0xe
je 0x100ec360
cmp bl, 0x20
jae 0x100ec360
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
mov edx, dword [esp + 0x60]
test edx, edx
jle 0x100ec38b
cmp bl, 0xa
je 0x100ec38b
cmp bl, 0xb
je 0x100ec38b
cmp bl, 0xc
je 0x100ec38b
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 0x100ec3af
cmp bl, 0x20
jae 0x100ec3af
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 0x100ec576
sub dword [esp + 0x70], 1
je 0x100ed543
movzx edx, bl
cmp edx, 0x1f
ja case.default.0x100ec3d3
jmp dword [edx*4 + 0x100f02f4]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x100ec3d3.0
cmp byte [ebx + 0x5d], 0
jne 0x100ed543
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ec41c
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec408
cmp dword [eax], 0
jne 0x100ec408
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 0x100ec2c8
cmp dword [eax - 4], 2
je 0x100ec448
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec434
cmp dword [eax], 0
jne 0x100ec434
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 0x100ec2c8
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x100ec3d3.0
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x100ec3d3.0
cmp dword [ebx + 0x60], 0
je 0x100ed543
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 0x100ec4c3
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 0x100ec57a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ec4e1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x100ec4dd
cmp dword [ecx], 0
jne 0x100ec4dd
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x100ec505
cmp dword [eax - 4], 2
je 0x100ec4fd
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec4f9
cmp dword [eax], 0
jne 0x100ec4f9
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100ec505
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x100ed543
push eax
push esi
push edi
call fcn.100e9480
mov byte [ebx + 0x5d], 1
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x100ec2c0
test al, al
jne 0x100ec53c
cmp byte [esp + 0xfc], al
jne case.0x100ec3d3.0
xor eax, eax
jmp 0x100ec546
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.100e99c0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
je 0x100eeec2
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x100ec58d
cmp dword [ebx], 0
jne 0x100ec58d
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.100b3660
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.100b3660
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.100b3660
push edi
push dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
call fcn.100b3660
add esp, 0x20
test esi, esi
je 0x100ec67a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.100b3660
push esi
push edi
mov dword [esi + 8], 0
call fcn.100b3660
add esp, 0x10
mov ecx, dword [esp + 0x3ef8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10123fc5
add esp, 0x3eec
ret
test al, al
jne 0x100ec6b8
cmp byte [esp + 0xfc], al
jne case.0x100ec3d3.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x100ec553
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 0x100ec553
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x100ec71d
cmp byte [esp + 0x23], 0
jne 0x100ec71d
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100ec6fe
sub eax, 1
jne 0x100ec70e
shl ecx, 0x10
jmp 0x100ec70e
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 0x100ec576
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ec751
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec74d
cmp dword [eax], 0
jne 0x100ec74d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100ec77b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ec76b
sub eax, 1
jne 0x100ec77b
shl ecx, 0x10
jmp 0x100ec77b
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 0x100eeec2
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.100eabf0
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x100efb72
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 0x100ec7fd
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec7f9
cmp dword [eax], 0
jne 0x100ec7f9
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x100ec823
mov eax, dword [edx + ebx*8 + 4]
mov edi, dword [edx + ebx*8]
sub eax, 1
je 0x100ec813
sub eax, 1
jne 0x100ec823
shl edi, 0x10
jmp 0x100ec823
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 0x100ec854
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec850
cmp dword [eax], 0
jne 0x100ec850
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ec87b
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x100ec86b
sub eax, 1
jne 0x100ec87b
shl ecx, 0x10
jmp 0x100ec87b
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.100eaa70
add ebx, 2
add esp, 0xc
cmp ebx, ebp
jb 0x100ec7d0
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c4
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 0x100ec96d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100ec8fa
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec8f6
cmp dword [eax], 0
jne 0x100ec8f6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ec920
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100ec910
sub eax, 1
jne 0x100ec920
shl ecx, 0x10
jmp 0x100ec920
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x100ec937
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
jmp 0x100ec94c
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.100eaa70
inc edi
add esp, 0xc
cmp edi, ebp
jb 0x100ec8d5
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c0
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 0x100ecc02
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 0x100ec9cd
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec9c9
cmp dword [eax], 0
jne 0x100ec9c9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100ec9f4
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x100ec9e4
sub eax, 1
jne 0x100ec9f4
shl ecx, 0x10
jmp 0x100ec9f4
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 0x100eca28
mov eax, dword [esi + 4]
test eax, eax
je 0x100eca24
cmp dword [eax], 0
jne 0x100eca24
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100eca4f
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x100eca3f
sub eax, 1
jne 0x100eca4f
shl ecx, 0x10
jmp 0x100eca4f
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 0x100eca80
mov eax, dword [esi + 4]
test eax, eax
je 0x100eca7c
cmp dword [eax], 0
jne 0x100eca7c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100ecaa6
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x100eca96
sub eax, 1
jne 0x100ecaa6
shl ecx, 0x10
jmp 0x100ecaa6
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 0x100ecada
mov eax, dword [esi + 4]
test eax, eax
je 0x100ecad6
cmp dword [eax], 0
jne 0x100ecad6
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100ecb01
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x100ecaf1
sub eax, 1
jne 0x100ecb01
shl ecx, 0x10
jmp 0x100ecb01
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 0x100ecb2d
mov eax, dword [esi + 4]
test eax, eax
je 0x100ecb29
cmp dword [eax], 0
jne 0x100ecb29
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100ecb54
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x100ecb44
sub eax, 1
jne 0x100ecb54
shl ecx, 0x10
jmp 0x100ecb54
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 0x100ecb80
mov eax, dword [esi + 4]
test eax, eax
je 0x100ecb7c
cmp dword [eax], 0
jne 0x100ecb7c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ecba7
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x100ecb97
sub eax, 1
jne 0x100ecba7
shl ecx, 0x10
jmp 0x100ecba7
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.100ea710
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 0x100ec9a0
mov ebx, dword [esp + 0x34]
cmp bl, 0x18
jne 0x100ecced
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x100ecc38
mov eax, dword [esi + 4]
test eax, eax
je 0x100ecc34
cmp dword [eax], 0
jne 0x100ecc34
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x100ecc5e
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x100ecc4e
sub eax, 1
jne 0x100ecc5e
shl edx, 0x10
jmp 0x100ecc5e
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 0x100ecc91
mov eax, dword [esi + 4]
test eax, eax
je 0x100ecc8d
cmp dword [eax], 0
jne 0x100ecc8d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100eccb7
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x100ecca7
sub eax, 1
jne 0x100eccb7
shl ecx, 0x10
jmp 0x100eccb7
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.100eaa70
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c4
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c4
test al, al
je case.0x100ec3d3.0
cmp byte [esp + 0x2ebc], 0
je 0x100ecd8c
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.100eaa70
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x100ecd72
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.100ead40
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 0x100ec2c8
cmp ecx, 0x10
jg 0x100ed543
inc ecx
cmp ecx, dword [esp + 0x8c]
jb 0x100ecdcf
mov eax, dword [esp + 0x88]
test eax, eax
je 0x100ecdcd
cmp dword [eax], 0
jne 0x100ecdcd
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 0x100ecdff
mov eax, dword [esi + 4]
test eax, eax
je 0x100ecdfb
cmp dword [eax], 0
jne 0x100ecdfb
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100ece23
cmp dword [eax - 4], 2
je 0x100ece1b
mov eax, dword [esi + 4]
test eax, eax
je 0x100ece17
cmp dword [eax], 0
jne 0x100ece17
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100ece23
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 0x100ece54
mov ecx, dword [edx + 0x268]
test ecx, ecx
je 0x100ece54
push ecx
push eax
call fcn.100b3220
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x100ece51
mov eax, dword [eax]
jmp 0x100ece54
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x18]
movups xmmword [ebx], xmm0
je 0x100ecef9
mov ecx, dword [edx + 0x234]
add ecx, eax
cmp ecx, dword [edx + 0x22c]
jb 0x100ece81
mov eax, 1
jmp 0x100ecf2e
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 0x100ecedd
mov eax, dword [eax + 0x264]
test eax, eax
je 0x100ecebb
test ecx, ecx
je 0x100eceb7
mov eax, dword [eax + edx]
add eax, ecx
jmp 0x100ecee7
xor eax, eax
jmp 0x100ecee7
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 0x100ecf2c
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jb 0x100ecf10
mov eax, 1
jmp 0x100ecf2e
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 0x100ed543
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x100ec2c8
cmp ecx, 1
jl 0x100ed543
dec ecx
mov ebx, ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x8c]
jb 0x100ecf75
mov edx, dword [esp + 0x88]
test edx, edx
je 0x100ecf73
cmp dword [edx], 0
jne 0x100ecf73
mov dword [edx], 0x82
xor ebx, ebx
imul ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x100ec2c8
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x100ecf9e
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x100ecfb1
mov eax, dword [ebx]
test eax, eax
je 0x100ecfaf
cmp dword [eax], 0
jne 0x100ecfaf
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x5b], cl
cmp eax, 0x1d
ja case.0x100ecfcb.9
movzx eax, byte [eax + 0x100f038c]
jmp dword [eax*4 + 0x100f0374]
push 0
push 0x101417d0
jmp 0x100ed038
push 0
push 0x101417dc
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.100e96b0
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 0x100ec2c8
push 0
push 0x101417e8
jmp 0x100ed038
push 1
push 0x101417f4
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.100e96b0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x100ec2c4
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x100ed0c0.0
cmp cl, 0x26
jae case.0x100ed0c0.0
mov al, byte [eax + 8]
mov edx, dword [esp + 0x60]
test al, al
je 0x100ed0b4
test edx, edx
jle 0x100ed0b4
cmp cl, 0x11
je 0x100ed0b4
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
movzx ecx, cl
cmp ecx, 0x21
ja case.0x100ed0c0.0
jmp dword [ecx*4 + 0x100f03ac]
test al, al
je case.0x100ed0c0.0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x100ed0f4
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed0f0
cmp dword [eax], 0
jne 0x100ed0f0
mov dword [eax], 0x82
xor edi, edi
jmp 0x100ed118
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100ed108
sub eax, 1
jne 0x100ed118
shl edi, 0x10
jmp 0x100ed118
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 0x100ed13e
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed13a
cmp dword [eax], 0
jne 0x100ed13a
mov dword [eax], 0x82
xor ebx, ebx
jmp 0x100ed163
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
sub eax, 1
je 0x100ed153
sub eax, 1
jne 0x100ed163
shl ebx, 0x10
jmp 0x100ed163
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 0x100ed189
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed185
cmp dword [eax], 0
jne 0x100ed185
mov dword [eax], 0x82
xor edx, edx
jmp 0x100ed1ae
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x100ed19e
sub eax, 1
jne 0x100ed1ae
shl edx, 0x10
jmp 0x100ed1ae
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 0x100ed1d4
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed1d0
cmp dword [eax], 0
jne 0x100ed1d0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ed1f9
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x100ed1e9
sub eax, 1
jne 0x100ed1f9
shl ecx, 0x10
jmp 0x100ed1f9
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 0x100ed21d
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed230
cmp dword [eax], 0
jne 0x100ed230
mov dword [eax], 0x82
jmp 0x100ed230
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 0x100ed256
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed252
cmp dword [eax], 0
jne 0x100ed252
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ed27b
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, 1
je 0x100ed26b
sub eax, 1
jne 0x100ed27b
shl ecx, 0x10
jmp 0x100ed27b
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 0x100ed29f
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed2b0
cmp dword [eax], 0
jne 0x100ed2b0
mov dword [eax], 0x82
jmp 0x100ed2b0
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 0x100ed2c2
mov eax, dword [eax]
jmp 0x100ed2c5
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.100e99c0
add esp, 0x18
cmp byte [ebx + 0x224], 0
jne 0x100ec576
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 0x100ec2c8
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ed334
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed330
cmp dword [eax], 0
jne 0x100ed330
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ed35e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100ed34e
sub eax, 1
jne 0x100ed35e
shl edx, 0x10
jmp 0x100ed35e
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 0x100ed387
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed469
cmp dword [eax], 0
jne 0x100ed469
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ec289
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x100ed3a1
sub eax, 1
jne 0x100ed3b1
shl ecx, 0x10
jmp 0x100ed3b1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x100ed469
test edx, edx
je 0x100ed469
mov edx, 1
jmp 0x100ec289
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ed3e9
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed3e5
cmp dword [eax], 0
jne 0x100ed3e5
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ed413
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100ed403
sub eax, 1
jne 0x100ed413
shl edx, 0x10
jmp 0x100ed413
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 0x100ed42f
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed461
cmp dword [eax], 0
jne 0x100ed461
mov dword [eax], 0xa1
jmp 0x100ed461
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x100ed449
sub eax, 1
jne 0x100ed459
shl ecx, 0x10
jmp 0x100ed459
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x100ed3c1
test edx, edx
jne 0x100ed3c1
xor edx, edx
jmp 0x100ec289
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ed48e
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed48a
cmp dword [eax], 0
jne 0x100ed48a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ed4b8
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100ed4a8
sub eax, 1
jne 0x100ed4b8
shl edx, 0x10
jmp 0x100ed4b8
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 0x100ec2a1
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 0x100ec2c8
test al, al
je case.0x100ed0c0.0
mov eax, dword [esp + 0x28]
push esi
mov edx, dword [eax + 4]
call fcn.100f0550
mov edi, eax
push esi
mov dword [esp + 0x44], edi
call fcn.100f0550
push esi
mov ebp, eax
call fcn.100f0500
push esi
mov dword [esp + 0x84], eax
call fcn.100f0500
push esi
mov ebx, eax
call fcn.100f0500
add esp, 0x14
mov dword [esp + 0x70], eax
cmp byte [esp + 0x3f10], 0
je 0x100efeb1
mov eax, 0x12
jmp 0x100ec57a
test al, al
je case.0x100ed0c0.0
push esi
call fcn.100f0500
mov edx, dword [esp + 0x2c]
push esi
mov ecx, dword [edx + 0x24]
mov dword [ecx + 4], eax
call fcn.100f0500
mov ecx, dword [edx + 0x24]
push esi
mov dword [ecx], eax
call fcn.100f0500
push esi
mov edx, eax
call fcn.100f0500
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 0x100ec576
cmp byte [esp + 0x33], 0
mov ecx, dword [esp + 0x10]
je 0x100eeeca
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 0x100ec2c8
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x100ed60f
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed5f7
cmp dword [eax], 0
jne 0x100ed5f7
mov dword [eax], 0xa1
xor ecx, ecx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.100f05a0
add esp, 8
jmp 0x100ec2c0
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ed629
sub eax, 1
jne 0x100ed639
shl ecx, 0x10
jmp 0x100ed639
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jge 0x100ed5f9
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
cmp edx, eax
jne 0x100ed664
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec2c0
cmp dword [eax], 0
jne 0x100ec2c0
jmp 0x100ec2b5
mov dword [edx], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100ec2c0
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100ed69b
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed697
cmp dword [eax], 0
jne 0x100ed697
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ed6c5
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100ed6b5
sub eax, 1
jne 0x100ed6c5
shl edi, 0x10
jmp 0x100ed6c5
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 0x100ed6e3
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed6df
cmp dword [eax], 0
jne 0x100ed6df
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ed70d
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100ed6fd
sub eax, 1
jne 0x100ed70d
shl edx, 0x10
jmp 0x100ed70d
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 0x100ed742
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
jmp 0x100ec2b5
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 0x100ec2c8
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100ed780
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed77c
cmp dword [eax], 0
jne 0x100ed77c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ed7aa
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100ed79a
sub eax, 1
jne 0x100ed7aa
shl edi, 0x10
jmp 0x100ed7aa
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 0x100ed7c8
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed7c4
cmp dword [eax], 0
jne 0x100ed7c4
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ed7f2
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100ed7e2
sub eax, 1
jne 0x100ed7f2
shl edx, 0x10
jmp 0x100ed7f2
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 0x100ed827
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
jmp 0x100ec2b5
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 0x100ec2c8
test al, al
je 0x100ed866
cmp byte [esp + 0x64], 0
je 0x100ed866
push esi
call fcn.100f0550
push esi
mov edx, eax
call fcn.100f0550
mov byte [esp + 0x6c], 0
jmp 0x100ed874
push esi
call fcn.100f0500
push esi
mov edx, eax
call fcn.100f0500
add esp, 8
push edx
push eax
call fcn.100ad550
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 0x100ed8aa
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec2c0
cmp dword [eax], 0
jne 0x100ec2c0
jmp 0x100ec2b5
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100ec2c0
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x100ed8ee
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed8db
cmp dword [eax], 0
jne 0x100ed8db
mov dword [eax], 0xa1
xor ecx, ecx
neg ecx
push ecx
push esi
call fcn.100f05a0
add esp, 8
jmp 0x100ec2c0
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ed908
sub eax, 1
jne 0x100ed918
shl ecx, 0x10
jmp 0x100ed918
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jl 0x100ed641
neg ecx
push ecx
push esi
call fcn.100f05a0
add esp, 8
jmp 0x100ec2c0
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100ed953
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed94f
cmp dword [eax], 0
jne 0x100ed94f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ed97d
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100ed96d
sub eax, 1
jne 0x100ed97d
shl edi, 0x10
jmp 0x100ed97d
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 0x100ed99b
mov eax, dword [esi + 4]
test eax, eax
je 0x100ed997
cmp dword [eax], 0
jne 0x100ed997
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ed9c5
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100ed9b5
sub eax, 1
jne 0x100ed9c5
shl edx, 0x10
jmp 0x100ed9c5
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 0x100ed9fa
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
jmp 0x100ec2b5
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 0x100ec2c8
mov ecx, dword [esp + 0x10]
test al, al
je 0x100ec2c8
push esi
call fcn.100f0550
push esi
mov edx, eax
call fcn.100f0550
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 0x100ed543
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.0x100eda78.4
movzx eax, byte [edx + 0x100f0474]
jmp dword [eax*4 + 0x100f0434]
cmp ebx, 3
jne 0x100ed543
cmp byte [esp + 0x33], 0
je 0x100edaad
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x1d4], 0
je 0x100ed543
cmp dword [eax + 0x1d8], 7
jne 0x100ed543
push edi
push esi
call fcn.100f05a0
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.100f05a0
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x50], 2
jmp 0x100ec2c4
test ebx, ebx
jne 0x100ed543
cmp byte [esp + 0x33], bl
je 0x100edda7
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 0x100edb12
push ebx
push 6
push edx
call fcn.100ade30
add esp, 0xc
test eax, eax
jne 0x100ec576
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 0x100ec2c4
test ebx, ebx
jne 0x100ed543
cmp byte [esp + 0x33], bl
je 0x100edda7
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x1d4], ebx
je 0x100ed543
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x100edda7
push 1
push ecx
call fcn.100e62b0
add esp, 8
test eax, eax
jne 0x100ed543
lea eax, [edi - 3]
cmp edi, 3
jg 0x100edb91
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 0x100edbb7
cmp edi, 6
jne 0x100eddab
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.100ea710
mov ebx, dword [esp + 0x34]
add esp, 0x1c
jmp 0x100ec2c0
cmp ebx, 1
jne 0x100ed543
cmp byte [esp + 0x33], 0
je 0x100edc54
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 0x100ec2c4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
jmp 0x100ec2c4
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x284]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x100ed543
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 0x100ed543
lea edi, [ecx + ebp]
test ecx, ecx
je 0x100edd6b
mov dword [esp + 0x54], ecx
push ebp
push esi
call fcn.100f04a0
add esp, 8
mov ebp, eax
cmp dword [ebx], 1
jbe 0x100edd44
mov eax, 1
mov ebx, 4
sub eax, edi
mov dword [esp + 0x38], eax
push edi
push esi
call fcn.100f04a0
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 0x100edce1
mov ebx, ecx
push ebp
mov ebp, dword [esp + 0x50]
push ebp
push esi
call fcn.100f05e0
inc ebp
add esp, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x4c], ebp
jne 0x100edcc0
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 0x100edd9b
mov eax, dword [esi + 4]
test eax, eax
je 0x100edda7
cmp dword [eax], 0
jne 0x100edda7
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x100ec2c0
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x100ec2c0
mov ebp, dword [esp + 0x28]
mov edi, dword [ebp + 0x284]
mov edx, dword [ebp + 0x28c]
cmp ebx, 1
jne 0x100ed543
test edi, edi
je 0x100ed543
push esi
call fcn.100f0550
mov ebx, eax
add esp, 4
mov eax, dword [edi]
cmp edx, eax
jb 0x100ed543
sub edx, eax
cmp edx, ebx
jb 0x100ed543
mov edx, dword [ebp + 0x288]
test edx, edx
je 0x100edda7
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x100edda7
shl eax, 2
push eax
push ecx
lea eax, [edx + ebx*4]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x100ec2c0
cmp ebx, 2
jne 0x100ed543
push esi
call fcn.100f0500
push esi
mov edx, eax
call fcn.100f0500
add eax, edx
push eax
push esi
call fcn.100f05a0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100ec2c4
cmp ebx, 2
jne 0x100ed543
push esi
call fcn.100f0500
push esi
mov edx, eax
call fcn.100f0500
sub eax, edx
push eax
push esi
call fcn.100f05a0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100ec2c4
cmp ebx, 2
jne 0x100ed543
push esi
call fcn.100f0500
push esi
mov dword [esp + 0x54], eax
call fcn.100f0500
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.100f05a0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100ec2c4
cmp ebx, 2
jne 0x100ed543
push esi
call fcn.100f0500
push esi
mov edx, eax
call fcn.100f0500
add esp, 8
test edx, edx
je 0x100ed543
push edx
push eax
call fcn.100ad550
push eax
push esi
call fcn.100f05a0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100ec2c4
cmp ebx, 2
jne 0x100ed543
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x284], 0
je 0x100ed543
push esi
call fcn.100f0550
mov edx, eax
add esp, 4
cmp edx, dword [ebx + 0x28c]
jae 0x100ed543
push esi
call fcn.100f0500
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 0x100ec2c4
cmp ebx, 1
jne 0x100ed543
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x284], 0
je 0x100ed543
push esi
call fcn.100f0550
add esp, 4
cmp eax, dword [edx + 0x28c]
jae 0x100ed543
mov ecx, dword [edx + 0x288]
push dword [ecx + eax*4]
jmp 0x100edee6
cmp ebx, 4
jne 0x100ed543
push esi
call fcn.100f0500
push esi
mov ebx, eax
call fcn.100f0500
push esi
mov edi, eax
call fcn.100f0500
push esi
mov edx, eax
call fcn.100f0500
cmp edi, ebx
cmovle edx, eax
push edx
push esi
call fcn.100f05a0
mov edi, dword [esp + 0x2c]
add esp, 0x18
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100ec2c4
test ebx, ebx
jne 0x100ed543
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.100f05a0
mov edi, dword [esp + 0x1c]
jmp 0x100edeec
test ebx, ebx
js 0x100ed543
test edx, edx
js 0x100ed543
cmp ebx, 3
mov eax, ebx
mov ecx, 3
cmovg eax, ecx
mov dword [esp + 0x60], eax
cmp eax, 1
jb 0x100edda7
lea edx, [esp + eax*4 + 0x3e4c]
mov edi, eax
push esi
call fcn.100f0500
add esp, 4
mov dword [edx], eax
lea edx, [edx - 4]
sub edi, 1
jne 0x100ee0a4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x100ec2c0
mov ecx, dword [esp + 0x10]
test al, al
je 0x100ec2c8
cmp dword [esp + 0x50], 0
jle 0x100ee0e0
dec dword [esp + 0x50]
jmp 0x100ec2c4
test edx, edx
je 0x100ed543
push dword [esp + edx*4 + 0x3e4c]
dec edx
push esi
mov dword [esp + 0x68], edx
call fcn.100f05a0
add esp, 8
jmp 0x100ec2c4
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esi + 8]
jne 0x100ee12d
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0xa1
jmp 0x100ec2c4
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ee156
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee152
cmp dword [eax], 0
jne 0x100ee152
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ee17a
cmp dword [eax - 4], 2
je 0x100ee172
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee16e
cmp dword [eax], 0
jne 0x100ee16e
mov dword [eax], 0xa0
xor edi, edi
jmp 0x100ee17a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ee198
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee194
cmp dword [eax], 0
jne 0x100ee194
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100ee1c2
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ee1b2
sub eax, 1
jne 0x100ee1c2
shl ecx, 0x10
jmp 0x100ee1c2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp edi, 0x20
jae 0x100ec2c0
mov dword [esp + edi*4 + 0x3e78], ecx
jmp 0x100ec2c0
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ee1f5
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee1f1
cmp dword [eax], 0
jne 0x100ee1f1
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100ee219
cmp dword [eax - 4], 2
je 0x100ee211
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee20d
cmp dword [eax], 0
jne 0x100ee20d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100ee219
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp eax, 0x20
jae 0x100ec2c8
push dword [esp + eax*4 + 0x3e78]
push esi
call fcn.100f05a0
add esp, 8
jmp 0x100ec2c4
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x100ee259
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee255
cmp dword [eax], 0
jne 0x100ee255
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x100ee284
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x100ee274
sub eax, 1
jne 0x100ee284
shl ebp, 0x10
jmp 0x100ee284
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 0x100ee2a2
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee29e
cmp dword [eax], 0
jne 0x100ee29e
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x100ee2cc
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x100ee2bc
sub eax, 1
jne 0x100ee2cc
shl ebx, 0x10
jmp 0x100ee2cc
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 0x100ee2ea
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee2e6
cmp dword [eax], 0
jne 0x100ee2e6
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ee314
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100ee304
sub eax, 1
jne 0x100ee314
shl edx, 0x10
jmp 0x100ee314
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 0x100ee332
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee32e
cmp dword [eax], 0
jne 0x100ee32e
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ee35c
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100ee34c
sub eax, 1
jne 0x100ee35c
shl edi, 0x10
jmp 0x100ee35c
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 0x100ee39b
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 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
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 0x100ec2c0
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 0x100ed64b
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100ec2c0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100ee439
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee42f
cmp dword [eax], 0
jne 0x100ee42f
mov dword [eax], 0xa1
mov dword [esp + 0x40], 0
jmp 0x100ee473
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x100ee45d
sub eax, 1
mov eax, dword [ecx]
je 0x100ee454
mov dword [esp + 0x40], eax
jmp 0x100ee473
shl eax, 0x10
mov dword [esp + 0x40], eax
jmp 0x100ee473
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 0x100ee497
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee48d
cmp dword [eax], 0
jne 0x100ee48d
mov dword [eax], 0xa1
mov dword [esp + 0x34], 0
jmp 0x100ee4ce
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ee4bb
sub eax, 1
je 0x100ee4b2
mov dword [esp + 0x34], ecx
jmp 0x100ee4ce
shl ecx, 0x10
mov dword [esp + 0x34], ecx
jmp 0x100ee4ce
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 0x100ee523
mov eax, dword [esi + 4]
test eax, eax
je 0x100ec2c0
cmp dword [eax], 0
jne 0x100ec2c0
mov dword [eax], 0x82
jmp 0x100ec2c4
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 0x100ec2c4
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x100ee589
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee556
cmp dword [eax], 0
jne 0x100ee556
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 0x100ee36c
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 0x100ec2c0
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x100ee5a4
sub eax, 1
jne 0x100ee5b4
shl ebp, 0x10
jmp 0x100ee5b4
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x100ee556
mov eax, ebp
mov edi, ebp
sar eax, 1
cmp ebp, 0xa
cmovge edi, eax
push edi
push ebp
call fcn.100ad550
lea ebx, [edi + 1]
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x100ee558
nop dword [eax]
push ebx
push ebp
mov edi, ebx
call fcn.100ad550
inc ebx
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x100ee5e0
jmp 0x100ee558
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ee618
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee614
cmp dword [eax], 0
jne 0x100ee614
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ee642
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100ee632
sub eax, 1
jne 0x100ee642
shl edx, 0x10
jmp 0x100ee642
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 0x100ee666
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee676
cmp dword [eax], 0
jne 0x100ee676
mov dword [eax], 0x82
jmp 0x100ee676
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 0x100ec2a1
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 0x100ec2c8
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ee6c5
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee6c1
cmp dword [eax], 0
jne 0x100ee6c1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ee6ef
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100ee6df
sub eax, 1
jne 0x100ee6ef
shl edx, 0x10
jmp 0x100ee6ef
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
push esi
call fcn.100f0500
push edx
push esi
mov ebx, eax
call fcn.100f05a0
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 0x100ee738
mov eax, dword [esi + 4]
test eax, eax
je 0x100eddab
cmp dword [eax], 0
jne 0x100eddab
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x100ec2c4
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 0x100ec2c0
push esi
call fcn.100f0550
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
sar ecx, 3
test ecx, ecx
je 0x100ec2c0
test eax, eax
js 0x100ee779
cmp eax, ecx
jb 0x100ee777
xor ecx, ecx
jmp 0x100ee77a
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.100f04a0
push eax
push esi
call fcn.100f05a0
add esp, 0x10
jmp 0x100ec2c4
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ee7ae
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee7aa
cmp dword [eax], 0
jne 0x100ee7aa
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ee7d2
cmp dword [eax - 4], 2
je 0x100ee7ca
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee7c6
cmp dword [eax], 0
jne 0x100ee7c6
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100ee7d2
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ee7f0
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee7ec
cmp dword [eax], 0
jne 0x100ee7ec
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100ee814
cmp dword [eax - 4], 2
je 0x100ee80c
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee808
cmp dword [eax], 0
jne 0x100ee808
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x100ee814
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 0x100ec2c4
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp ecx, eax
jbe 0x100ee861
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
test edx, edx
jns 0x100ee870
neg edx
mov eax, edx
cdq
idiv ecx
neg edx
jmp 0x100ee875
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x38], edx
test edx, edx
je 0x100ec2c4
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 0x100ee8d1
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 0x100ee8e1
sub edi, ecx
sub ebx, eax
jmp 0x100ee8e9
test edi, edi
jns 0x100ee8e9
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 0x100ee8a6
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x100ec2c0
test al, al
je case.0x100ed0c0.0
cmp byte [esp + 0x33], 0
je case.0x100ed0c0.0
push esi
call fcn.100f0500
mov ebp, eax
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f20], ebp
call fcn.100f0500
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 0x100ec2c8
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x100ec3d3.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100ee9bd
mov eax, dword [esi + 4]
test eax, eax
je 0x100ee9b9
cmp dword [eax], 0
jne 0x100ee9b9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100ee9e7
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100ee9d7
sub eax, 1
jne 0x100ee9e7
shl ecx, 0x10
jmp 0x100ee9e7
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 0x100eea18
mov eax, dword [esi + 4]
test eax, eax
je 0x100eea14
cmp dword [eax], 0
jne 0x100eea14
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100eea42
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100eea32
sub eax, 1
jne 0x100eea42
shl ecx, 0x10
jmp 0x100eea42
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 0x100ec576
cmp byte [esp + 0x33], 0
mov ebx, dword [esp + 0x18]
je case.0x100ed0c0.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 0x100ec2c8
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
je 0x100f011c
test ah, ah
jne 0x100f011c
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.100eabf0
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 0x100eeb5d
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 0x100eeb3a
test ebp, ebp
je 0x100eeb38
cmp dword [ebp], 0
jne 0x100eeb38
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 0x100eeb20
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 0x100ec2c8
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x100eeb8e
cmp byte [esp + 0xfc], 0
jne case.0x100ec3d3.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.100e99c0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x100ec576
cmp bl, 0x13
jne 0x100eebf7
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.100ebcd0
mov eax, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
push 0xf1c
lea eax, [esp + 0x2f38]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
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.100ebcd0
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.100eb220
mov eax, dword [esi + 8]
add esp, 0x30
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x100eed1b
cmp byte [esp + 0x23], 0
jne 0x100eed1b
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100eecfc
sub eax, 1
jne 0x100eed0c
shl ecx, 0x10
jmp 0x100eed0c
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 0x100ec576
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100eed4f
mov eax, dword [esi + 4]
test eax, eax
je 0x100eed4b
cmp dword [eax], 0
jne 0x100eed4b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100eed79
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100eed69
sub eax, 1
jne 0x100eed79
shl ecx, 0x10
jmp 0x100eed79
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 0x100eedb4
mov eax, dword [esi + 4]
test eax, eax
je 0x100eeda0
cmp dword [eax], 0
jne 0x100eeda0
mov dword [eax], 0xa1
xor ecx, ecx
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x100ec788
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100eedde
sub eax, 1
jne 0x100eedee
shl ecx, 0x10
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x100ec788
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 0x100ec788
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100eee4a
cmp byte [esp + 0x23], 0
jne 0x100eee4a
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100eee2b
sub eax, 1
jne 0x100eee3b
shl ecx, 0x10
jmp 0x100eee3b
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 0x100ec576
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100eee7e
mov eax, dword [esi + 4]
test eax, eax
je 0x100eee7a
cmp dword [eax], 0
jne 0x100eee7a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100eeea8
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100eee98
sub eax, 1
jne 0x100eeea8
shl ecx, 0x10
jmp 0x100eeea8
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 0x100ec795
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x100ec2c8
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 0x100eefcf
lea ebx, [edi + 6]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100eef15
mov eax, dword [esi + 4]
test eax, eax
je 0x100eef11
cmp dword [eax], 0
jne 0x100eef11
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100eef3b
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100eef2b
sub eax, 1
jne 0x100eef3b
shl ecx, 0x10
jmp 0x100eef3b
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 0x100eef74
mov eax, dword [esi + 4]
test eax, eax
je 0x100eef70
cmp dword [eax], 0
jne 0x100eef70
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100eef9b
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100eef8b
sub eax, 1
jne 0x100eef9b
shl ecx, 0x10
jmp 0x100eef9b
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.100eaa70
add ebx, 2
add esp, 0xc
add edi, 2
cmp ebx, ebp
jb 0x100eeef0
cmp edi, ebp
jae 0x100ef230
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 0x100ef008
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef004
cmp dword [eax], 0
jne 0x100ef004
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef02f
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x100ef01f
sub eax, 1
jne 0x100ef02f
shl ecx, 0x10
jmp 0x100ef02f
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 0x100ef061
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef05d
cmp dword [eax], 0
jne 0x100ef05d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef088
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x100ef078
sub eax, 1
jne 0x100ef088
shl ecx, 0x10
jmp 0x100ef088
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 0x100ef0b7
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef0b3
cmp dword [eax], 0
jne 0x100ef0b3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef0dd
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100ef0cd
sub eax, 1
jne 0x100ef0dd
shl ecx, 0x10
jmp 0x100ef0dd
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 0x100ef107
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef103
cmp dword [eax], 0
jne 0x100ef103
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef12e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100ef11e
sub eax, 1
jne 0x100ef12e
shl ecx, 0x10
jmp 0x100ef12e
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 0x100ef158
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef154
cmp dword [eax], 0
jne 0x100ef154
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef17f
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x100ef16f
sub eax, 1
jne 0x100ef17f
shl ecx, 0x10
jmp 0x100ef17f
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 0x100ef1ae
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef1aa
cmp dword [eax], 0
jne 0x100ef1aa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef1d5
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x100ef1c5
sub eax, 1
jne 0x100ef1d5
shl ecx, 0x10
jmp 0x100ef1d5
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.100ea710
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 0x100eefe0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c0
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c0
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 0x100ef234
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 0x100ef2d9
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100ef29c
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef298
cmp dword [eax], 0
jne 0x100ef298
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef2c2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100ef2b2
sub eax, 1
jne 0x100ef2c2
shl ecx, 0x10
jmp 0x100ef2c2
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 0x100ef2dd
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 0x100ef302
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef2fe
cmp dword [eax], 0
jne 0x100ef2fe
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef328
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100ef318
sub eax, 1
jne 0x100ef328
shl ecx, 0x10
jmp 0x100ef328
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 0x100ef353
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef34f
cmp dword [eax], 0
jne 0x100ef34f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef379
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100ef369
sub eax, 1
jne 0x100ef379
shl ecx, 0x10
jmp 0x100ef379
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 0x100ef3a9
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef3a5
cmp dword [eax], 0
jne 0x100ef3a5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef3cf
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100ef3bf
sub eax, 1
jne 0x100ef3cf
shl ecx, 0x10
jmp 0x100ef3cf
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 0x100ef3f9
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef3f5
cmp dword [eax], 0
jne 0x100ef3f5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef42e
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100ef417
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100ef42e
shl ecx, 0x10
jmp 0x100ef42e
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.100ea710
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 0x100ef270
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c0
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 0x100ef234
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 0x100ef533
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100ef4fc
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef4f8
cmp dword [eax], 0
jne 0x100ef4f8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef522
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100ef512
sub eax, 1
jne 0x100ef522
shl ecx, 0x10
jmp 0x100ef522
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 0x100ef558
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef554
cmp dword [eax], 0
jne 0x100ef554
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef57e
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100ef56e
sub eax, 1
jne 0x100ef57e
shl ecx, 0x10
jmp 0x100ef57e
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 0x100ef5a9
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef5a5
cmp dword [eax], 0
jne 0x100ef5a5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef5cf
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100ef5bf
sub eax, 1
jne 0x100ef5cf
shl ecx, 0x10
jmp 0x100ef5cf
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 0x100ef5f9
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef5f5
cmp dword [eax], 0
jne 0x100ef5f5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef62e
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100ef617
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100ef62e
shl ecx, 0x10
jmp 0x100ef62e
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 0x100ef65c
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef658
cmp dword [eax], 0
jne 0x100ef658
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef691
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100ef67a
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100ef691
shl ecx, 0x10
jmp 0x100ef691
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.100ea710
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 0x100ef4d0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c0
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 0x100efb72
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 0x100ef939
cmp ebp, eax
jb 0x100ef76d
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef769
cmp dword [eax], 0
jne 0x100ef769
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef793
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100ef783
sub eax, 1
jne 0x100ef793
shl ecx, 0x10
jmp 0x100ef793
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 0x100ef7c7
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef7c3
cmp dword [eax], 0
jne 0x100ef7c3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef7ed
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100ef7dd
sub eax, 1
jne 0x100ef7ed
shl ecx, 0x10
jmp 0x100ef7ed
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 0x100ef819
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef815
cmp dword [eax], 0
jne 0x100ef815
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef83f
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x100ef82f
sub eax, 1
jne 0x100ef83f
shl ecx, 0x10
jmp 0x100ef83f
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 0x100ef86c
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef868
cmp dword [eax], 0
jne 0x100ef868
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef8a1
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100ef88a
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100ef8a1
shl ecx, 0x10
jmp 0x100ef8a1
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 0x100ef92e
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x100ef8da
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef8d6
cmp dword [eax], 0
jne 0x100ef8d6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef90f
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100ef8f8
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100ef90f
shl ecx, 0x10
jmp 0x100ef90f
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 0x100efb13
mov dword [esp + 0x14], edi
xor bl, bl
jmp 0x100efb13
mov dword [esp + 0x3c], edi
cmp ebp, eax
jb 0x100ef957
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef953
cmp dword [eax], 0
jne 0x100ef953
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef97d
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100ef96d
sub eax, 1
jne 0x100ef97d
shl ecx, 0x10
jmp 0x100ef97d
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 0x100ef9ac
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef9a8
cmp dword [eax], 0
jne 0x100ef9a8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100ef9d2
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100ef9c2
sub eax, 1
jne 0x100ef9d2
shl ecx, 0x10
jmp 0x100ef9d2
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 0x100ef9fd
mov eax, dword [esi + 4]
test eax, eax
je 0x100ef9f9
cmp dword [eax], 0
jne 0x100ef9f9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100efa23
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x100efa13
sub eax, 1
jne 0x100efa23
shl ecx, 0x10
jmp 0x100efa23
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 0x100efa50
mov eax, dword [esi + 4]
test eax, eax
je 0x100efa4c
cmp dword [eax], 0
jne 0x100efa4c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100efa85
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100efa6e
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100efa85
shl ecx, 0x10
jmp 0x100efa85
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 0x100efb0d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x100efabe
mov eax, dword [esi + 4]
test eax, eax
je 0x100efaba
cmp dword [eax], 0
jne 0x100efaba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100efaf3
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100efadc
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100efaf3
shl ecx, 0x10
jmp 0x100efaf3
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 0x100efb11
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.100ea710
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 0x100ef740
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100ec2c4
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x100efb9c
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
movzx edx, cl
jmp 0x100efbaf
mov eax, dword [ebx]
test eax, eax
je 0x100efbad
cmp dword [eax], 0
jne 0x100efbad
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x100efbcd
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [ebx + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x100ec289
mov eax, dword [ebx]
test eax, eax
je 0x100efbde
cmp dword [eax], 0
jne 0x100efbde
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x100ec289
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x100ec2c0
cmp bl, 0xf6
ja 0x100efc4c
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 0x100efd35
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp bl, 0xfa
ja 0x100efcc7
shl edx, 8
cmp eax, ecx
jae 0x100efc6d
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
jmp 0x100efc80
mov eax, dword [edi]
test eax, eax
je 0x100efc7e
cmp dword [eax], 0
jne 0x100efc7e
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 0x100efd35
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
cmp bl, 0xfe
ja 0x100efd3c
shl edx, 8
cmp eax, ecx
jae 0x100efcde
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
jmp 0x100efcf1
mov eax, dword [edi]
test eax, eax
je 0x100efcef
cmp dword [eax], 0
jne 0x100efcef
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 0x100efd35
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
mov dword [edx], edi
jmp 0x100efe57
cmp eax, ecx
jae 0x100efd4b
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edx, cl
jmp 0x100efd5e
mov eax, dword [edi]
test eax, eax
je 0x100efd5c
cmp dword [eax], 0
jne 0x100efd5c
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x100efd71
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx ebx, cl
jmp 0x100efd84
mov eax, dword [edi]
test eax, eax
je 0x100efd82
cmp dword [eax], 0
jne 0x100efd82
mov dword [eax], 0x55
xor ebx, ebx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x100efd97
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edi, cl
jmp 0x100efdaa
mov eax, dword [edi]
test eax, eax
je 0x100efda8
cmp dword [eax], 0
jne 0x100efda8
mov dword [eax], 0x55
xor edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x100efdc9
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 0x100efddc
mov eax, dword [ecx]
test eax, eax
je 0x100efdda
cmp dword [eax], 0
jne 0x100efdda
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 0x100efe72
cmp edx, 0x7d00
jg 0x100efe05
cmp edx, 0xffff8300
jge 0x100efe1a
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 0x100efe55
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
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 0x100ec2c4
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 0x100ee68e
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100ec2c8
cmp dword [eax], 0
jne 0x100ec2c8
mov dword [eax], 0x82
jmp 0x100ec2c4
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x2f], 0
je 0x100efec5
mov eax, 0x12
jmp 0x100ec57a
cmp dword [ecx + 0x244], 0
jne 0x100efee4
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100efee4
mov eax, 0x12
jmp 0x100ec57a
mov eax, dword [ecx + 0x20]
add ebx, dword [eax]
mov eax, dword [edx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100eff15
push ebp
push ecx
call fcn.100f0bf0
push edi
push dword [esp + 0x34]
mov ebp, eax
call fcn.100f0bf0
mov ecx, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x3c], edi
test ebp, ebp
js 0x100ed543
test edi, edi
js 0x100ed543
cmp byte [ecx + 0x2e], 0
je 0x100effda
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.100ae000
add esp, 8
test eax, eax
jne 0x100ec57a
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.100b0f80
push dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.100b0f80
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 0x100ec576
push dword [ecx + 0xc]
call fcn.100ae120
lea eax, [esp + 0x3e54]
push eax
push ebp
push dword [esp + 0x34]
call fcn.100ea070
add esp, 0x10
test eax, eax
jne 0x100ec57a
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.100ebd50
lea eax, [esp + 0x3e70]
push eax
push dword [esp + 0x4c]
call fcn.100e9f20
mov edx, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x23], 0
jne 0x100f0087
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.100ea070
add esp, 0xc
test eax, eax
jne 0x100ec57a
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.100ebd50
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.100e9f20
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 0x100ec576
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x100f012f
cmp eax, 5
jne 0x100f014e
cmp byte [esp + 0x23], 0
jne 0x100f014e
push 0
push esi
call fcn.100f04a0
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 0x100ec576
cmp byte [esp + 0x2ebc], 0
je 0x100f01e3
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.100eaa70
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x100f01c9
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.100ead40
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
cmp byte [ebx + 9], 0
jne 0x100ec576
cmp byte [ebx + 8], 0
jne 0x100ec576
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x100ec576
cmp byte [esp + 0x3f10], 0
je 0x100f021d
mov eax, 0x12
jmp 0x100ec57a
push esi
call fcn.100f0550
push esi
mov edx, eax
call fcn.100f0550
push esi
mov edi, eax
call fcn.100f0500
push esi
mov ebx, eax
call fcn.100f0500
mov ebp, eax
lea eax, [esp + 0x3e60]
push eax
push edx
push dword [esp + 0x40]
call fcn.100e9fa0
add esp, 0x1c
test eax, eax
jne 0x100ec57a
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.100ebd50
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.100e9ef0
lea eax, [esp + 0x3e78]
push eax
push edi
push ebx
call fcn.100e9fa0
add esp, 0x34
test eax, eax
jne 0x100ec57a
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.100ebd50
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.100e9ef0
add esp, 0x28
jmp 0x100ec576
xor eax, eax
jmp 0x100ec57e