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

Disassembly:
mov eax, 0x3eec
call fcn.101eb8e0
mov eax, dword [0x102cf440]
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 + 0x6c], 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 + 0x78], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x5c], 0
mov byte [esp + 0x74], 0
mov byte [esp + 0x3f], 0
mov dword [esp + 0x80], 0x1312d00
call fcn.101ed310
xorps xmm0, xmm0
mov dword [esp + 0x3e64], 0
push 0x2e04
lea eax, [esp + 0x140]
movq qword [esp + 0x3e60], xmm0
push 0
push eax
movups xmmword [esp + 0x3e78], xmm0
mov dword [esp + 0xf4], edi
movq qword [esp + 0x3e88], xmm0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], 0x10
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], 0x14
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 0x14
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
movlpd qword [esp + 0x114], xmm0
movlpd qword [esp + 0x11c], xmm0
movlpd qword [esp + 0x124], xmm0
mov dword [esp + 0x110], ebx
call fcn.101ed310
mov eax, dword [esp + 0x88]
movaps xmm0, xmmword [0x10246bc0]
push 0xf1c
mov dword [esp + 0x150], eax
lea eax, [esp + 0x1f8c]
mov dword [esp + 0x14c], esi
mov dword [esp + 0x2ea8], edi
mov dword [esp + 0x2eac], ebx
movups xmmword [esp + 0x2eb0], xmm0
mov dword [esp + 0x2ec0], 0
push 0
push eax
call fcn.101ed310
mov eax, dword [esp + 0xac]
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x1fa4], eax
lea eax, [esp + 0x1f94]
mov dword [esp + 0x1f98], eax
lea eax, [esp + 0x2eb0]
push 0xf1c
mov dword [esp + 0x1fa0], eax
lea eax, [esp + 0x107c]
push 0
push eax
mov byte [esp + 0x1fad], bl
mov dword [esp + 0x1fa0], esi
call fcn.101ed310
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1094], eax
lea eax, [esp + 0x1fa0]
mov dword [esp + 0x1088], eax
lea eax, [esp + 0x2ebc]
push 0xf1c
mov dword [esp + 0x1090], eax
lea eax, [esp + 0x16c]
push 0
push eax
mov byte [esp + 0x109d], bl
mov dword [esp + 0x1090], esi
call fcn.101ed310
mov ecx, dword [esp + 0xc4]
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 0x1010d4be
test esi, esi
jmp 0x1010d4c2
mov esi, ebx
test ebx, ebx
jns 0x1010d4c6
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 0x1010d52f
mov eax, dword [ecx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x1010d534
mov ebx, 0x30
lea eax, [esp + 0x9c]
mov dword [esp + 0x64], ebx
push eax
push 0x14
push edi
call fcn.100d3740
add esp, 0xc
mov esi, eax
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x94], esi
jne 0x1010d596
mov eax, dword [esp + 0x6c]
mov dword [esi + 4], eax
lea eax, [esp + 0x9c]
push eax
push 0
push ebx
push 0
push 8
push edi
mov dword [esi], edi
call fcn.100d3790
add esp, 0x18
mov dword [esi + 8], eax
cmp dword [esp + 0x9c], 0
je 0x1010d5a2
push esi
push edi
call fcn.100d3720
add esp, 8
xor esi, esi
xor edi, edi
lea eax, [esi + 0x40]
jmp 0x1010d91e
mov dword [esi + 0xc], eax
lea eax, [esp + 0xdc]
push 0x11
push eax
mov dword [esi + 0x10], ebx
call fcn.10109d40
mov ecx, dword [esp + 0xf4]
add esp, 8
mov edi, dword [esp + 0xf4]
test al, al
mov eax, dword [esp + 0x6c]
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 0x1011160e
mov eax, dword [esp + 0x3f04]
xor ecx, ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xa0], 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 0x1010d668
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x10110f7d
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
mov ecx, dword [esp + 0x10]
jne 0x1010d668
mov dword [eax], 0x82
nop
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jb 0x1010d685
test ecx, ecx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x34], ebx
jmp 0x1010d6b2
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, cl
mov dword [esp + 0x34], ebx
cmp cl, 0xb
je 0x1010d69b
cmp cl, 0xe
jne 0x1010d6ae
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 0x1010d74f
test ah, ah
jne 0x1010d700
cmp bl, 1
je 0x1010d700
cmp bl, 3
je 0x1010d700
cmp bl, 0xd
je 0x1010d700
cmp bl, 0xa
je 0x1010d700
cmp bl, 0xb
je 0x1010d700
cmp bl, 0xc
je 0x1010d700
cmp bl, 0xe
je 0x1010d700
cmp bl, 0x20
jae 0x1010d700
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d668
mov edx, dword [esp + 0x60]
test edx, edx
jle 0x1010d72b
cmp bl, 0xa
je 0x1010d72b
cmp bl, 0xb
je 0x1010d72b
cmp bl, 0xc
je 0x1010d72b
cmp bl, 0x20
mov dword [esp + 0x3c], 0
cmovb edx, dword [esp + 0x3c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x68]
test dl, dl
je 0x1010d74f
cmp bl, 0x20
jae 0x1010d74f
cmp bl, 0xc
movzx edx, dl
mov dword [esp + 0x3c], 0
cmovne edx, dword [esp + 0x3c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x6c]
cmp dword [edx], 0
jne 0x1010d916
sub dword [esp + 0x74], 1
je 0x1010e8e7
movzx edx, bl
cmp edx, 0x1f
ja case.default.0x1010d773
jmp dword [edx*4 + 0x10111618]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x1010d773.0
cmp byte [ebx + 0x5d], 0
jne 0x1010e8e7
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1010d7bc
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d7a8
cmp dword [eax], 0
jne 0x1010d7a8
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 0x1010d668
cmp dword [eax - 4], 2
je 0x1010d7e8
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d7d4
cmp dword [eax], 0
jne 0x1010d7d4
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 0x1010d668
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1010d773.0
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d668
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x1010d773.0
cmp dword [ebx + 0x60], 0
je 0x1010e8e7
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 0x1010d863
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 0x1010d91a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1010d881
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1010d87d
cmp dword [ecx], 0
jne 0x1010d87d
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1010d8a5
cmp dword [eax - 4], 2
je 0x1010d89d
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d899
cmp dword [eax], 0
jne 0x1010d899
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1010d8a5
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x64]
ja 0x1010e8e7
push eax
push esi
push edi
call fcn.1010a890
mov byte [ebx + 0x5d], 1
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x1010d660
test al, al
jne 0x1010d8dc
cmp byte [esp + 0xfc], al
jne case.0x1010d773.0
xor eax, eax
jmp 0x1010d8e6
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.1010adc0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
je 0x10110255
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x1010d92d
cmp dword [ebx], 0
jne 0x1010d92d
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.100d3720
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.100d3720
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.100d3720
push edi
push dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
call fcn.100d3720
add esp, 0x20
test esi, esi
je 0x1010da1a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.100d3720
push esi
push edi
mov dword [esi + 8], 0
call fcn.100d3720
add esp, 0x10
mov ecx, dword [esp + 0x3ef8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101eafcd
add esp, 0x3eec
ret
test al, al
jne 0x1010da58
cmp byte [esp + 0xfc], al
jne case.0x1010d773.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x1010d8f3
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 0x1010d8f3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1010dabd
cmp byte [esp + 0x23], 0
jne 0x1010dabd
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1010da9e
sub eax, 1
jne 0x1010daae
shl ecx, 0x10
jmp 0x1010daae
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 0x1010d916
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1010daf1
mov eax, dword [esi + 4]
test eax, eax
je 0x1010daed
cmp dword [eax], 0
jne 0x1010daed
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1010db1b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1010db0b
sub eax, 1
jne 0x1010db1b
shl ecx, 0x10
jmp 0x1010db1b
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 0x10110255
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.1010bfe0
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x1010d668
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x10110f02
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 0x1010db9d
mov eax, dword [esi + 4]
test eax, eax
je 0x1010db99
cmp dword [eax], 0
jne 0x1010db99
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x1010dbc3
mov eax, dword [edx + ebx*8 + 4]
mov edi, dword [edx + ebx*8]
sub eax, 1
je 0x1010dbb3
sub eax, 1
jne 0x1010dbc3
shl edi, 0x10
jmp 0x1010dbc3
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 0x1010dbf4
mov eax, dword [esi + 4]
test eax, eax
je 0x1010dbf0
cmp dword [eax], 0
jne 0x1010dbf0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1010dc1b
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x1010dc0b
sub eax, 1
jne 0x1010dc1b
shl ecx, 0x10
jmp 0x1010dc1b
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.1010be60
add ebx, 2
add esp, 0xc
cmp ebx, ebp
jb 0x1010db70
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d664
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 0x1010dd0d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1010dc9a
mov eax, dword [esi + 4]
test eax, eax
je 0x1010dc96
cmp dword [eax], 0
jne 0x1010dc96
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1010dcc0
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1010dcb0
sub eax, 1
jne 0x1010dcc0
shl ecx, 0x10
jmp 0x1010dcc0
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x1010dcd7
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
jmp 0x1010dcec
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.1010be60
inc edi
add esp, 0xc
cmp edi, ebp
jb 0x1010dc75
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d660
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 0x1010dfa2
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 0x1010dd6d
mov eax, dword [esi + 4]
test eax, eax
je 0x1010dd69
cmp dword [eax], 0
jne 0x1010dd69
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1010dd94
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x1010dd84
sub eax, 1
jne 0x1010dd94
shl ecx, 0x10
jmp 0x1010dd94
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 0x1010ddc8
mov eax, dword [esi + 4]
test eax, eax
je 0x1010ddc4
cmp dword [eax], 0
jne 0x1010ddc4
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1010ddef
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x1010dddf
sub eax, 1
jne 0x1010ddef
shl ecx, 0x10
jmp 0x1010ddef
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 0x1010de20
mov eax, dword [esi + 4]
test eax, eax
je 0x1010de1c
cmp dword [eax], 0
jne 0x1010de1c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1010de46
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x1010de36
sub eax, 1
jne 0x1010de46
shl ecx, 0x10
jmp 0x1010de46
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 0x1010de7a
mov eax, dword [esi + 4]
test eax, eax
je 0x1010de76
cmp dword [eax], 0
jne 0x1010de76
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1010dea1
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x1010de91
sub eax, 1
jne 0x1010dea1
shl ecx, 0x10
jmp 0x1010dea1
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 0x1010decd
mov eax, dword [esi + 4]
test eax, eax
je 0x1010dec9
cmp dword [eax], 0
jne 0x1010dec9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1010def4
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x1010dee4
sub eax, 1
jne 0x1010def4
shl ecx, 0x10
jmp 0x1010def4
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 0x1010df20
mov eax, dword [esi + 4]
test eax, eax
je 0x1010df1c
cmp dword [eax], 0
jne 0x1010df1c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1010df47
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x1010df37
sub eax, 1
jne 0x1010df47
shl ecx, 0x10
jmp 0x1010df47
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.1010bb00
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 0x1010dd40
mov ebx, dword [esp + 0x34]
cmp bl, 0x18
jne 0x1010e08d
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x1010dfd8
mov eax, dword [esi + 4]
test eax, eax
je 0x1010dfd4
cmp dword [eax], 0
jne 0x1010dfd4
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1010dffe
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x1010dfee
sub eax, 1
jne 0x1010dffe
shl edx, 0x10
jmp 0x1010dffe
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 0x1010e031
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e02d
cmp dword [eax], 0
jne 0x1010e02d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1010e057
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x1010e047
sub eax, 1
jne 0x1010e057
shl ecx, 0x10
jmp 0x1010e057
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.1010be60
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d664
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d664
test al, al
je case.0x1010d773.0
cmp byte [esp + 0x2ebc], 0
je 0x1010e12c
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.1010be60
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x1010e112
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.1010c130
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 0x1010d668
cmp ecx, 0x10
jg 0x1010e8e7
inc ecx
cmp ecx, dword [esp + 0x8c]
jb 0x1010e16f
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1010e16d
cmp dword [eax], 0
jne 0x1010e16d
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 0x1010e19f
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e19b
cmp dword [eax], 0
jne 0x1010e19b
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1010e1c3
cmp dword [eax - 4], 2
je 0x1010e1bb
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e1b7
cmp dword [eax], 0
jne 0x1010e1b7
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1010e1c3
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 0x1010e1f4
mov ecx, dword [edx + 0x268]
test ecx, ecx
je 0x1010e1f4
push ecx
push eax
call fcn.100d32e0
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x1010e1f1
mov eax, dword [eax]
jmp 0x1010e1f4
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x18]
movups xmmword [ebx], xmm0
je 0x1010e299
mov ecx, dword [edx + 0x234]
add ecx, eax
cmp ecx, dword [edx + 0x22c]
jb 0x1010e221
mov eax, 1
jmp 0x1010e2ce
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 0x1010e27d
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1010e25b
test ecx, ecx
je 0x1010e257
mov eax, dword [eax + edx]
add eax, ecx
jmp 0x1010e287
xor eax, eax
jmp 0x1010e287
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 [ecx + edx], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
jmp 0x1010e2cc
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jb 0x1010e2b0
mov eax, 1
jmp 0x1010e2ce
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 0x1010e8e7
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x1010d668
cmp ecx, 1
jl 0x1010e8e7
dec ecx
mov ebx, ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x8c]
jb 0x1010e315
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x1010e313
cmp dword [edx], 0
jne 0x1010e313
mov dword [edx], 0x82
xor ebx, ebx
imul ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x1010d668
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x1010e33e
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x1010e351
mov eax, dword [ebx]
test eax, eax
je 0x1010e34f
cmp dword [eax], 0
jne 0x1010e34f
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x5b], cl
cmp eax, 0x1d
ja case.0x1010e36b.9
movzx eax, byte [eax + 0x101116b0]
jmp dword [eax*4 + 0x10111698]
push 0
push 0x1024692c
jmp 0x1010e3d8
push 0
push 0x10246938
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.1010aac0
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 0x1010d668
push 0
push 0x10246944
jmp 0x1010e3d8
push 1
push 0x10246950
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.1010aac0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x1010d664
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x1010e460.0
cmp cl, 0x26
jae case.0x1010e460.0
mov al, byte [eax + 8]
mov edx, dword [esp + 0x60]
test al, al
je 0x1010e454
test edx, edx
jle 0x1010e454
cmp cl, 0x11
je 0x1010e454
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1010d668
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1010e460.0
jmp dword [ecx*4 + 0x101116d0]
test al, al
je case.0x1010e460.0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1010e494
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e490
cmp dword [eax], 0
jne 0x1010e490
mov dword [eax], 0x82
xor edi, edi
jmp 0x1010e4b8
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1010e4a8
sub eax, 1
jne 0x1010e4b8
shl edi, 0x10
jmp 0x1010e4b8
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 0x1010e4de
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e4da
cmp dword [eax], 0
jne 0x1010e4da
mov dword [eax], 0x82
xor ebx, ebx
jmp 0x1010e503
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
sub eax, 1
je 0x1010e4f3
sub eax, 1
jne 0x1010e503
shl ebx, 0x10
jmp 0x1010e503
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 0x1010e529
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e525
cmp dword [eax], 0
jne 0x1010e525
mov dword [eax], 0x82
xor edx, edx
jmp 0x1010e54e
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1010e53e
sub eax, 1
jne 0x1010e54e
shl edx, 0x10
jmp 0x1010e54e
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 0x1010e574
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e570
cmp dword [eax], 0
jne 0x1010e570
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1010e599
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1010e589
sub eax, 1
jne 0x1010e599
shl ecx, 0x10
jmp 0x1010e599
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 0x1010e5bd
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e5d0
cmp dword [eax], 0
jne 0x1010e5d0
mov dword [eax], 0x82
jmp 0x1010e5d0
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 0x1010e5f6
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e5f2
cmp dword [eax], 0
jne 0x1010e5f2
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1010e61b
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, 1
je 0x1010e60b
sub eax, 1
jne 0x1010e61b
shl ecx, 0x10
jmp 0x1010e61b
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 0x1010e63f
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e650
cmp dword [eax], 0
jne 0x1010e650
mov dword [eax], 0x82
jmp 0x1010e650
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 0x1010e662
mov eax, dword [eax]
jmp 0x1010e665
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.1010adc0
add esp, 0x18
cmp byte [ebx + 0x224], 0
jne 0x1010d916
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 0x1010d668
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1010e6d4
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e6d0
cmp dword [eax], 0
jne 0x1010e6d0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010e6fe
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1010e6ee
sub eax, 1
jne 0x1010e6fe
shl edx, 0x10
jmp 0x1010e6fe
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 0x1010e727
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e809
cmp dword [eax], 0
jne 0x1010e809
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010d62c
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x1010e741
sub eax, 1
jne 0x1010e751
shl ecx, 0x10
jmp 0x1010e751
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1010e809
test edx, edx
je 0x1010e809
mov edx, 1
jmp 0x1010d62c
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1010e789
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e785
cmp dword [eax], 0
jne 0x1010e785
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010e7b3
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1010e7a3
sub eax, 1
jne 0x1010e7b3
shl edx, 0x10
jmp 0x1010e7b3
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 0x1010e7cf
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e801
cmp dword [eax], 0
jne 0x1010e801
mov dword [eax], 0xa1
jmp 0x1010e801
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x1010e7e9
sub eax, 1
jne 0x1010e7f9
shl ecx, 0x10
jmp 0x1010e7f9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1010e761
test edx, edx
jne 0x1010e761
xor edx, edx
jmp 0x1010d62c
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1010e82e
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e82a
cmp dword [eax], 0
jne 0x1010e82a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010e858
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1010e848
sub eax, 1
jne 0x1010e858
shl edx, 0x10
jmp 0x1010e858
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 0x1010d644
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 0x1010d668
test al, al
je case.0x1010e460.0
mov eax, dword [esp + 0x28]
push esi
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
call fcn.10111870
mov edi, eax
push esi
mov dword [esp + 0x6c], edi
call fcn.10111870
push esi
mov ebp, eax
call fcn.10111820
push esi
mov dword [esp + 0x84], eax
call fcn.10111820
push esi
mov ebx, eax
call fcn.10111820
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp byte [esp + 0x3f10], 0
je 0x101111ca
mov eax, 0x12
jmp 0x1010d91a
test al, al
je case.0x1010e460.0
push esi
call fcn.10111820
mov edi, dword [esp + 0x2c]
push esi
mov ecx, dword [edi + 0x24]
mov dword [ecx + 4], eax
call fcn.10111820
mov ecx, dword [edi + 0x24]
push esi
mov dword [ecx], eax
call fcn.10111820
push esi
mov edi, eax
call fcn.10111820
mov edx, dword [esp + 0x38]
add esp, 0x10
mov byte [esp + 0x23], 1
mov ecx, dword [edx + 0x20]
add dword [ecx], eax
mov ecx, dword [edx + 0x20]
add dword [ecx + 4], edi
cmp byte [edx + 0x2f], 0
jne 0x1010d916
cmp byte [esp + 0x33], 0
je 0x1010e968
mov ecx, dword [esp + 0x14]
add ecx, eax
add ebp, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3f14], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x1010d668
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x1010e9af
mov eax, dword [esi + 4]
test eax, eax
je 0x1010e997
cmp dword [eax], 0
jne 0x1010e997
mov dword [eax], 0xa1
xor ecx, ecx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.101118c0
add esp, 8
jmp 0x1010d660
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1010e9c9
sub eax, 1
jne 0x1010e9d9
shl ecx, 0x10
jmp 0x1010e9d9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jge 0x1010e999
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
cmp edx, eax
jne 0x1010ea04
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d660
cmp dword [eax], 0
jne 0x1010d660
jmp 0x1010d658
mov dword [edx], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1010d660
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1010ea3b
mov eax, dword [esi + 4]
test eax, eax
je 0x1010ea37
cmp dword [eax], 0
jne 0x1010ea37
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1010ea65
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1010ea55
sub eax, 1
jne 0x1010ea65
shl edi, 0x10
jmp 0x1010ea65
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 0x1010ea83
mov eax, dword [esi + 4]
test eax, eax
je 0x1010ea7f
cmp dword [eax], 0
jne 0x1010ea7f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010eaad
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1010ea9d
sub eax, 1
jne 0x1010eaad
shl edx, 0x10
jmp 0x1010eaad
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 0x1010eae2
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
jne 0x1010d668
jmp 0x1010d658
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 0x1010d668
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1010eb20
mov eax, dword [esi + 4]
test eax, eax
je 0x1010eb1c
cmp dword [eax], 0
jne 0x1010eb1c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1010eb4a
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1010eb3a
sub eax, 1
jne 0x1010eb4a
shl edi, 0x10
jmp 0x1010eb4a
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 0x1010eb68
mov eax, dword [esi + 4]
test eax, eax
je 0x1010eb64
cmp dword [eax], 0
jne 0x1010eb64
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010eb92
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1010eb82
sub eax, 1
jne 0x1010eb92
shl edx, 0x10
jmp 0x1010eb92
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 0x1010ebc7
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
jne 0x1010d668
jmp 0x1010d658
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 0x1010d668
test al, al
je 0x1010ec06
cmp byte [esp + 0x68], 0
je 0x1010ec06
push esi
call fcn.10111870
push esi
mov edi, eax
call fcn.10111870
mov byte [esp + 0x70], 0
jmp 0x1010ec14
push esi
call fcn.10111820
push esi
mov edi, eax
call fcn.10111820
add esp, 8
push edi
push eax
call fcn.100cd020
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 0x1010ec4a
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d660
cmp dword [eax], 0
jne 0x1010d660
jmp 0x1010d658
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1010d660
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x1010ec8e
mov eax, dword [esi + 4]
test eax, eax
je 0x1010ec7b
cmp dword [eax], 0
jne 0x1010ec7b
mov dword [eax], 0xa1
xor ecx, ecx
neg ecx
push ecx
push esi
call fcn.101118c0
add esp, 8
jmp 0x1010d660
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1010eca8
sub eax, 1
jne 0x1010ecb8
shl ecx, 0x10
jmp 0x1010ecb8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jl 0x1010e9e1
neg ecx
push ecx
push esi
call fcn.101118c0
add esp, 8
jmp 0x1010d660
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1010ecf3
mov eax, dword [esi + 4]
test eax, eax
je 0x1010ecef
cmp dword [eax], 0
jne 0x1010ecef
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1010ed1d
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1010ed0d
sub eax, 1
jne 0x1010ed1d
shl edi, 0x10
jmp 0x1010ed1d
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 0x1010ed3b
mov eax, dword [esi + 4]
test eax, eax
je 0x1010ed37
cmp dword [eax], 0
jne 0x1010ed37
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010ed65
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1010ed55
sub eax, 1
jne 0x1010ed65
shl edx, 0x10
jmp 0x1010ed65
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 0x1010ed9a
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
jne 0x1010d668
jmp 0x1010d658
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 0x1010d668
mov ecx, dword [esp + 0x10]
test al, al
je 0x1010d668
push esi
call fcn.10111870
push esi
mov edx, eax
call fcn.10111870
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 0x1010e8e7
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.0x1010ee18.4
movzx eax, byte [edx + 0x10111798]
jmp dword [eax*4 + 0x10111758]
cmp ebx, 3
jne 0x1010e8e7
cmp byte [esp + 0x33], 0
je 0x1010ee4d
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x1d4], 0
je 0x1010e8e7
cmp dword [eax + 0x1d8], 7
jne 0x1010e8e7
push edi
push esi
call fcn.101118c0
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.101118c0
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x50], 2
jmp 0x1010d664
test ebx, ebx
jne 0x1010e8e7
cmp byte [esp + 0x33], bl
je 0x1010f147
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 0x1010eeb2
push ebx
push 6
push edx
call fcn.100cdbd0
add esp, 0xc
test eax, eax
jne 0x1010d916
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 0x1010d664
test ebx, ebx
jne 0x1010e8e7
cmp byte [esp + 0x33], bl
je 0x1010f147
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x1d4], ebx
je 0x1010e8e7
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x1010f147
push 1
push ecx
call fcn.101076e0
add esp, 8
test eax, eax
jne 0x1010e8e7
lea eax, [edi - 3]
cmp edi, 3
jg 0x1010ef31
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 0x1010ef57
cmp edi, 6
jne 0x1010f14b
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.1010bb00
mov ebx, dword [esp + 0x34]
add esp, 0x1c
jmp 0x1010d660
cmp ebx, 1
jne 0x1010e8e7
cmp byte [esp + 0x33], 0
je 0x1010eff4
mov eax, dword [esp + 0x6c]
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 0x1010d664
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
jmp 0x1010d664
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x284]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x1010e8e7
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 0x1010e8e7
lea edi, [ecx + ebp]
test ecx, ecx
je 0x1010f10b
mov dword [esp + 0x54], ecx
push ebp
push esi
call fcn.101117c0
add esp, 8
mov ebp, eax
cmp dword [ebx], 1
jbe 0x1010f0e4
mov eax, 1
mov ebx, 4
sub eax, edi
mov dword [esp + 0x38], eax
push edi
push esi
call fcn.101117c0
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 0x1010f081
mov ebx, ecx
push ebp
mov ebp, dword [esp + 0x50]
push ebp
push esi
call fcn.10111900
inc ebp
add esp, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x4c], ebp
jne 0x1010f060
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 0x1010f13b
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f147
cmp dword [eax], 0
jne 0x1010f147
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x1010d660
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x1010d660
mov ebp, dword [esp + 0x28]
mov edi, dword [ebp + 0x284]
mov edx, dword [ebp + 0x28c]
cmp ebx, 1
jne 0x1010e8e7
test edi, edi
je 0x1010e8e7
push esi
call fcn.10111870
mov ebx, eax
add esp, 4
mov eax, dword [edi]
cmp edx, eax
jb 0x1010e8e7
sub edx, eax
cmp edx, ebx
jb 0x1010e8e7
mov edx, dword [ebp + 0x288]
test edx, edx
je 0x1010f147
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x1010f147
shl eax, 2
push eax
push ecx
lea eax, [edx + ebx*4]
push eax
call fcn.101ecd90
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x1010d660
cmp ebx, 2
jne 0x1010e8e7
push esi
call fcn.10111820
push esi
mov edi, eax
call fcn.10111820
add eax, edi
push eax
push esi
call fcn.101118c0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x1010d660
cmp ebx, 2
jne 0x1010e8e7
push esi
call fcn.10111820
push esi
mov edi, eax
call fcn.10111820
sub eax, edi
push eax
push esi
call fcn.101118c0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x1010d660
cmp ebx, 2
jne 0x1010e8e7
push esi
call fcn.10111820
push esi
mov dword [esp + 0x54], eax
call fcn.10111820
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 + 0x78], eax
push dword [esp + 0x78]
push esi
call fcn.101118c0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x1010d664
cmp ebx, 2
jne 0x1010e8e7
push esi
call fcn.10111820
push esi
mov edi, eax
call fcn.10111820
add esp, 8
test edi, edi
je 0x1010e8e7
push edi
push eax
call fcn.100cd020
push eax
push esi
call fcn.101118c0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x1010d660
cmp ebx, 2
jne 0x1010e8e7
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x284], 0
je 0x1010e8e7
push esi
call fcn.10111870
mov edi, eax
add esp, 4
cmp edi, dword [ebx + 0x28c]
jae 0x1010e8e7
push esi
call fcn.10111820
mov ecx, dword [ebx + 0x288]
add esp, 4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [ecx + edi*4], eax
jmp 0x1010d660
cmp ebx, 1
jne 0x1010e8e7
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x284], 0
je 0x1010e8e7
push esi
call fcn.10111870
add esp, 4
cmp eax, dword [edx + 0x28c]
jae 0x1010e8e7
mov ecx, dword [edx + 0x288]
push dword [ecx + eax*4]
jmp 0x1010f280
cmp ebx, 4
jne 0x1010e8e7
push esi
call fcn.10111820
push esi
mov ebp, eax
call fcn.10111820
push esi
mov ebx, eax
call fcn.10111820
push esi
mov edi, eax
call fcn.10111820
cmp ebx, ebp
cmovle edi, eax
push edi
push esi
call fcn.101118c0
mov ebp, dword [esp + 0x34]
add esp, 0x18
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x1010d660
test ebx, ebx
jne 0x1010e8e7
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.101118c0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x1010d660
test ebx, ebx
js 0x1010e8e7
test edx, edx
js 0x1010e8e7
cmp ebx, 3
mov eax, ebx
mov ecx, 3
cmovg eax, ecx
mov dword [esp + 0x60], eax
cmp eax, 1
jb 0x1010f147
lea edi, [esp + eax*4 + 0x3e4c]
mov ebx, eax
nop dword [eax]
push esi
call fcn.10111820
add esp, 4
mov dword [edi], eax
lea edi, [edi - 4]
sub ebx, 1
jne 0x1010f450
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x1010d660
mov ecx, dword [esp + 0x10]
test al, al
je 0x1010d668
cmp dword [esp + 0x50], 0
jle 0x1010f48c
dec dword [esp + 0x50]
jmp 0x1010d664
test edx, edx
je 0x1010e8e7
push dword [esp + edx*4 + 0x3e4c]
dec edx
push esi
mov dword [esp + 0x68], edx
call fcn.101118c0
add esp, 8
jmp 0x1010d664
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esi + 8]
jne 0x1010f4d9
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
jne 0x1010d668
mov dword [eax], 0xa1
jmp 0x1010d664
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x1010d668
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1010f502
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f4fe
cmp dword [eax], 0
jne 0x1010f4fe
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1010f526
cmp dword [eax - 4], 2
je 0x1010f51e
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f51a
cmp dword [eax], 0
jne 0x1010f51a
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1010f526
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1010f544
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f540
cmp dword [eax], 0
jne 0x1010f540
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1010f56e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1010f55e
sub eax, 1
jne 0x1010f56e
shl ecx, 0x10
jmp 0x1010f56e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp edi, 0x20
jae 0x1010d660
mov dword [esp + edi*4 + 0x3e78], ecx
jmp 0x1010d660
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1010f5a1
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f59d
cmp dword [eax], 0
jne 0x1010f59d
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1010f5c5
cmp dword [eax - 4], 2
je 0x1010f5bd
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f5b9
cmp dword [eax], 0
jne 0x1010f5b9
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1010f5c5
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp eax, 0x20
jae 0x1010d668
push dword [esp + eax*4 + 0x3e78]
push esi
call fcn.101118c0
add esp, 8
jmp 0x1010d664
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x1010f605
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f601
cmp dword [eax], 0
jne 0x1010f601
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1010f630
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1010f620
sub eax, 1
jne 0x1010f630
shl ebp, 0x10
jmp 0x1010f630
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 0x1010f64e
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f64a
cmp dword [eax], 0
jne 0x1010f64a
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x1010f678
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1010f668
sub eax, 1
jne 0x1010f678
shl ebx, 0x10
jmp 0x1010f678
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 0x1010f696
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f692
cmp dword [eax], 0
jne 0x1010f692
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010f6c0
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1010f6b0
sub eax, 1
jne 0x1010f6c0
shl edx, 0x10
jmp 0x1010f6c0
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 0x1010f6de
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f6da
cmp dword [eax], 0
jne 0x1010f6da
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1010f708
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1010f6f8
sub eax, 1
jne 0x1010f708
shl edi, 0x10
jmp 0x1010f708
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 0x1010f747
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 0x1010d668
cmp dword [eax], 0
jne 0x1010d668
mov dword [eax], 0x82
jmp 0x1010d660
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 0x1010d660
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 0x1010e9eb
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1010d660
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1010f7e5
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f7db
cmp dword [eax], 0
jne 0x1010f7db
mov dword [eax], 0xa1
mov dword [esp + 0x40], 0
jmp 0x1010f81f
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x1010f809
sub eax, 1
mov eax, dword [ecx]
je 0x1010f800
mov dword [esp + 0x40], eax
jmp 0x1010f81f
shl eax, 0x10
mov dword [esp + 0x40], eax
jmp 0x1010f81f
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 0x1010f843
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f839
cmp dword [eax], 0
jne 0x1010f839
mov dword [eax], 0xa1
mov dword [esp + 0x34], 0
jmp 0x1010f87a
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1010f867
sub eax, 1
je 0x1010f85e
mov dword [esp + 0x34], ecx
jmp 0x1010f87a
shl ecx, 0x10
mov dword [esp + 0x34], ecx
jmp 0x1010f87a
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 + 0x7c], 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 0x1010f8cf
mov eax, dword [esi + 4]
test eax, eax
je 0x1010d660
cmp dword [eax], 0
jne 0x1010d660
mov dword [eax], 0x82
jmp 0x1010d664
mov eax, dword [esp + 0x7c]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1010d664
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x1010f935
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f902
cmp dword [eax], 0
jne 0x1010f902
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 0x1010f718
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 0x1010d660
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1010f950
sub eax, 1
jne 0x1010f960
shl ebp, 0x10
jmp 0x1010f960
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1010f902
mov eax, ebp
mov edi, ebp
sar eax, 1
cmp ebp, 0xa
cmovge edi, eax
push edi
push ebp
call fcn.100cd020
lea ebx, [edi + 1]
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x1010f904
nop dword [eax]
push ebx
push ebp
mov edi, ebx
call fcn.100cd020
inc ebx
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x1010f990
jmp 0x1010f904
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1010f9c8
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f9c4
cmp dword [eax], 0
jne 0x1010f9c4
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010f9f2
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1010f9e2
sub eax, 1
jne 0x1010f9f2
shl edx, 0x10
jmp 0x1010f9f2
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 0x1010fa16
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fa26
cmp dword [eax], 0
jne 0x1010fa26
mov dword [eax], 0x82
jmp 0x1010fa26
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
jne 0x101111b1
jmp 0x1010d644
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1010fa61
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fa5d
cmp dword [eax], 0
jne 0x1010fa5d
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1010fa8b
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1010fa7b
sub eax, 1
jne 0x1010fa8b
shl edi, 0x10
jmp 0x1010fa8b
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
push esi
call fcn.10111820
push edi
push esi
mov ebx, eax
call fcn.101118c0
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 0x1010fad0
mov eax, dword [esi + 4]
test eax, eax
je 0x1010f14b
cmp dword [eax], 0
jne 0x1010f14b
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1010d660
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 0x1010d660
push esi
call fcn.10111870
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
sar ecx, 3
test ecx, ecx
je 0x1010d660
test eax, eax
js 0x1010fb11
cmp eax, ecx
jb 0x1010fb0f
xor ecx, ecx
jmp 0x1010fb12
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.101117c0
push eax
push esi
call fcn.101118c0
add esp, 0x10
jmp 0x1010d664
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1010fb46
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fb42
cmp dword [eax], 0
jne 0x1010fb42
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1010fb6a
cmp dword [eax - 4], 2
je 0x1010fb62
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fb5e
cmp dword [eax], 0
jne 0x1010fb5e
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1010fb6a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1010fb88
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fb84
cmp dword [eax], 0
jne 0x1010fb84
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1010fbac
cmp dword [eax - 4], 2
je 0x1010fba4
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fba0
cmp dword [eax], 0
jne 0x1010fba0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1010fbac
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 0x1010d664
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp ecx, eax
jbe 0x1010fbf9
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
jne 0x1010d668
mov dword [eax], 0x82
jmp 0x1010d664
test edx, edx
jns 0x1010fc08
neg edx
mov eax, edx
cdq
idiv ecx
neg edx
jmp 0x1010fc0d
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x38], edx
test edx, edx
je 0x1010d664
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]
nop
cmp ebp, edi
jne 0x1010fc6b
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 0x1010fc7b
sub edi, ecx
sub ebx, eax
jmp 0x1010fc83
test edi, edi
jns 0x1010fc83
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 0x1010fc40
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x1010d660
test al, al
je case.0x1010e460.0
cmp byte [esp + 0x33], 0
je case.0x1010e460.0
push esi
call fcn.10111820
mov ebp, eax
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f20], ebp
call fcn.10111820
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 0x1010d668
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x1010d773.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1010fd57
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fd53
cmp dword [eax], 0
jne 0x1010fd53
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1010fd81
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1010fd71
sub eax, 1
jne 0x1010fd81
shl ecx, 0x10
jmp 0x1010fd81
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 0x1010fdb2
mov eax, dword [esi + 4]
test eax, eax
je 0x1010fdae
cmp dword [eax], 0
jne 0x1010fdae
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1010fddc
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1010fdcc
sub eax, 1
jne 0x1010fddc
shl ecx, 0x10
jmp 0x1010fddc
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 0x1010d916
cmp byte [esp + 0x33], 0
mov ebx, dword [esp + 0x18]
je case.0x1010e460.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 0x1010d668
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
je 0x10111436
test ah, ah
jne 0x10111436
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.1010bfe0
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
mov eax, dword [esp + 0x78]
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 0x1010fef0
mov ebp, dword [esp + 0xa0]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x90]
lea eax, [ecx - 1]
cmp eax, edx
jb 0x1010fecd
test ebp, ebp
je 0x1010fecb
cmp dword [ebp], 0
jne 0x1010fecb
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 0x1010feb3
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 0x1010d668
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x1010ff21
cmp byte [esp + 0xfc], 0
jne case.0x1010d773.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.1010adc0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x1010d916
cmp bl, 0x13
jne 0x1010ff8a
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.1010d070
mov eax, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x1010d668
push 0xf1c
lea eax, [esp + 0x2f38]
push 0
push eax
call fcn.101ed310
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 + 0x94]
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.1010d070
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.1010c750
mov eax, dword [esi + 8]
add esp, 0x30
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x1010d668
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x101100ae
cmp byte [esp + 0x23], 0
jne 0x101100ae
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1011008f
sub eax, 1
jne 0x1011009f
shl ecx, 0x10
jmp 0x1011009f
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 0x1010d916
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101100e2
mov eax, dword [esi + 4]
test eax, eax
je 0x101100de
cmp dword [eax], 0
jne 0x101100de
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1011010c
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101100fc
sub eax, 1
jne 0x1011010c
shl ecx, 0x10
jmp 0x1011010c
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 0x10110147
mov eax, dword [esi + 4]
test eax, eax
je 0x10110133
cmp dword [eax], 0
jne 0x10110133
mov dword [eax], 0xa1
xor ecx, ecx
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x1010db28
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10110171
sub eax, 1
jne 0x10110181
shl ecx, 0x10
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x1010db28
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 0x1010db28
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x101101dd
cmp byte [esp + 0x23], 0
jne 0x101101dd
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101101be
sub eax, 1
jne 0x101101ce
shl ecx, 0x10
jmp 0x101101ce
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 0x1010d916
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x10110211
mov eax, dword [esi + 4]
test eax, eax
je 0x1011020d
cmp dword [eax], 0
jne 0x1011020d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1011023b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1011022b
sub eax, 1
jne 0x1011023b
shl ecx, 0x10
jmp 0x1011023b
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 0x1010db35
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x1010d668
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 0x10110362
lea ebx, [edi + 6]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x101102a8
mov eax, dword [esi + 4]
test eax, eax
je 0x101102a4
cmp dword [eax], 0
jne 0x101102a4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101102ce
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101102be
sub eax, 1
jne 0x101102ce
shl ecx, 0x10
jmp 0x101102ce
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 0x10110307
mov eax, dword [esi + 4]
test eax, eax
je 0x10110303
cmp dword [eax], 0
jne 0x10110303
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011032e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1011031e
sub eax, 1
jne 0x1011032e
shl ecx, 0x10
jmp 0x1011032e
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.1010be60
add ebx, 2
add esp, 0xc
add edi, 2
cmp ebx, ebp
jb 0x10110283
cmp edi, ebp
jae 0x101105c0
add edi, 2
nop dword [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 0x10110398
mov eax, dword [esi + 4]
test eax, eax
je 0x10110394
cmp dword [eax], 0
jne 0x10110394
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101103bf
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x101103af
sub eax, 1
jne 0x101103bf
shl ecx, 0x10
jmp 0x101103bf
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 0x101103f1
mov eax, dword [esi + 4]
test eax, eax
je 0x101103ed
cmp dword [eax], 0
jne 0x101103ed
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110418
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10110408
sub eax, 1
jne 0x10110418
shl ecx, 0x10
jmp 0x10110418
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 0x10110447
mov eax, dword [esi + 4]
test eax, eax
je 0x10110443
cmp dword [eax], 0
jne 0x10110443
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011046d
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1011045d
sub eax, 1
jne 0x1011046d
shl ecx, 0x10
jmp 0x1011046d
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 0x10110497
mov eax, dword [esi + 4]
test eax, eax
je 0x10110493
cmp dword [eax], 0
jne 0x10110493
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101104be
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x101104ae
sub eax, 1
jne 0x101104be
shl ecx, 0x10
jmp 0x101104be
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 0x101104e8
mov eax, dword [esi + 4]
test eax, eax
je 0x101104e4
cmp dword [eax], 0
jne 0x101104e4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011050f
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x101104ff
sub eax, 1
jne 0x1011050f
shl ecx, 0x10
jmp 0x1011050f
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 0x1011053e
mov eax, dword [esi + 4]
test eax, eax
je 0x1011053a
cmp dword [eax], 0
jne 0x1011053a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110565
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10110555
sub eax, 1
jne 0x10110565
shl ecx, 0x10
jmp 0x10110565
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.1010bb00
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 0x10110370
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d660
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d660
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 0x101105c4
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 0x10110669
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1011062c
mov eax, dword [esi + 4]
test eax, eax
je 0x10110628
cmp dword [eax], 0
jne 0x10110628
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110652
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10110642
sub eax, 1
jne 0x10110652
shl ecx, 0x10
jmp 0x10110652
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 0x1011066d
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 0x10110692
mov eax, dword [esi + 4]
test eax, eax
je 0x1011068e
cmp dword [eax], 0
jne 0x1011068e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101106b8
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101106a8
sub eax, 1
jne 0x101106b8
shl ecx, 0x10
jmp 0x101106b8
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 0x101106e3
mov eax, dword [esi + 4]
test eax, eax
je 0x101106df
cmp dword [eax], 0
jne 0x101106df
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110709
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x101106f9
sub eax, 1
jne 0x10110709
shl ecx, 0x10
jmp 0x10110709
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 0x10110739
mov eax, dword [esi + 4]
test eax, eax
je 0x10110735
cmp dword [eax], 0
jne 0x10110735
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011075f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1011074f
sub eax, 1
jne 0x1011075f
shl ecx, 0x10
jmp 0x1011075f
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 0x10110789
mov eax, dword [esi + 4]
test eax, eax
je 0x10110785
cmp dword [eax], 0
jne 0x10110785
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101107be
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101107a7
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x101107be
shl ecx, 0x10
jmp 0x101107be
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.1010bb00
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 0x10110600
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d660
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 0x101105c4
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 0x101108c3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1011088c
mov eax, dword [esi + 4]
test eax, eax
je 0x10110888
cmp dword [eax], 0
jne 0x10110888
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101108b2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101108a2
sub eax, 1
jne 0x101108b2
shl ecx, 0x10
jmp 0x101108b2
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 0x101108e8
mov eax, dword [esi + 4]
test eax, eax
je 0x101108e4
cmp dword [eax], 0
jne 0x101108e4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011090e
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101108fe
sub eax, 1
jne 0x1011090e
shl ecx, 0x10
jmp 0x1011090e
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 0x10110939
mov eax, dword [esi + 4]
test eax, eax
je 0x10110935
cmp dword [eax], 0
jne 0x10110935
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011095f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1011094f
sub eax, 1
jne 0x1011095f
shl ecx, 0x10
jmp 0x1011095f
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 0x10110989
mov eax, dword [esi + 4]
test eax, eax
je 0x10110985
cmp dword [eax], 0
jne 0x10110985
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101109be
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x101109a7
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x101109be
shl ecx, 0x10
jmp 0x101109be
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 0x101109ec
mov eax, dword [esi + 4]
test eax, eax
je 0x101109e8
cmp dword [eax], 0
jne 0x101109e8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110a21
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10110a0a
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10110a21
shl ecx, 0x10
jmp 0x10110a21
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.1010bb00
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 0x10110860
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d660
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 0x10110f02
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 0x10110cc9
cmp ebp, eax
jb 0x10110afd
mov eax, dword [esi + 4]
test eax, eax
je 0x10110af9
cmp dword [eax], 0
jne 0x10110af9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110b23
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10110b13
sub eax, 1
jne 0x10110b23
shl ecx, 0x10
jmp 0x10110b23
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 0x10110b57
mov eax, dword [esi + 4]
test eax, eax
je 0x10110b53
cmp dword [eax], 0
jne 0x10110b53
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110b7d
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10110b6d
sub eax, 1
jne 0x10110b7d
shl ecx, 0x10
jmp 0x10110b7d
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 0x10110ba9
mov eax, dword [esi + 4]
test eax, eax
je 0x10110ba5
cmp dword [eax], 0
jne 0x10110ba5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110bcf
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x10110bbf
sub eax, 1
jne 0x10110bcf
shl ecx, 0x10
jmp 0x10110bcf
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 0x10110bfc
mov eax, dword [esi + 4]
test eax, eax
je 0x10110bf8
cmp dword [eax], 0
jne 0x10110bf8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110c31
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10110c1a
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x10110c31
shl ecx, 0x10
jmp 0x10110c31
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 0x10110cbe
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x10110c6a
mov eax, dword [esi + 4]
test eax, eax
je 0x10110c66
cmp dword [eax], 0
jne 0x10110c66
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110c9f
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10110c88
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10110c9f
shl ecx, 0x10
jmp 0x10110c9f
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 0x10110ea3
mov dword [esp + 0x14], edi
xor bl, bl
jmp 0x10110ea3
mov dword [esp + 0x3c], edi
cmp ebp, eax
jb 0x10110ce7
mov eax, dword [esi + 4]
test eax, eax
je 0x10110ce3
cmp dword [eax], 0
jne 0x10110ce3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110d0d
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10110cfd
sub eax, 1
jne 0x10110d0d
shl ecx, 0x10
jmp 0x10110d0d
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 0x10110d3c
mov eax, dword [esi + 4]
test eax, eax
je 0x10110d38
cmp dword [eax], 0
jne 0x10110d38
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110d62
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10110d52
sub eax, 1
jne 0x10110d62
shl ecx, 0x10
jmp 0x10110d62
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 0x10110d8d
mov eax, dword [esi + 4]
test eax, eax
je 0x10110d89
cmp dword [eax], 0
jne 0x10110d89
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110db3
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x10110da3
sub eax, 1
jne 0x10110db3
shl ecx, 0x10
jmp 0x10110db3
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 0x10110de0
mov eax, dword [esi + 4]
test eax, eax
je 0x10110ddc
cmp dword [eax], 0
jne 0x10110ddc
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110e15
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10110dfe
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x10110e15
shl ecx, 0x10
jmp 0x10110e15
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 0x10110e9d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x10110e4e
mov eax, dword [esi + 4]
test eax, eax
je 0x10110e4a
cmp dword [eax], 0
jne 0x10110e4a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10110e83
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10110e6c
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10110e83
shl ecx, 0x10
jmp 0x10110e83
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 0x10110ea1
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.1010bb00
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 0x10110ad0
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x1010d664
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x10110f2c
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
movzx edx, cl
jmp 0x10110f3f
mov eax, dword [ebx]
test eax, eax
je 0x10110f3d
cmp dword [eax], 0
jne 0x10110f3d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x10110f5d
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [ebx + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1010d62c
mov eax, dword [ebx]
test eax, eax
je 0x10110f6e
cmp dword [eax], 0
jne 0x10110f6e
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1010d62c
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1010d660
cmp bl, 0xf6
ja 0x10110fe4
lea edi, [edx - 0x8b]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10111071
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x1010d668
cmp dword [eax], 0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
jne 0x1010d668
mov dword [eax], 0x82
jmp 0x1010d660
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp bl, 0xfa
ja 0x1011102d
shl edx, 8
cmp eax, ecx
jae 0x1011100d
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
lea edi, [eax - 0xf694]
add edi, edx
jmp 0x10110f9d
mov eax, dword [edi]
test eax, eax
je 0x1011101e
cmp dword [eax], 0
jne 0x1011101e
mov dword [eax], 0x55
xor eax, eax
lea edi, [eax - 0xf694]
add edi, edx
jmp 0x10110f9d
cmp bl, 0xfe
ja 0x1011108a
shl edx, 8
cmp eax, ecx
jae 0x10111050
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
mov edi, 0xfa94
movzx eax, cl
sub edi, edx
sub edi, eax
jmp 0x10110f9d
mov eax, dword [edi]
test eax, eax
je 0x10111061
cmp dword [eax], 0
jne 0x10111061
mov dword [eax], 0x55
mov edi, 0xfa94
xor eax, eax
sub edi, edx
sub edi, eax
jmp 0x10110f9d
mov ebx, dword [esp + 0x18]
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1010d660
cmp eax, ecx
jae 0x10111099
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edx, cl
jmp 0x101110ac
mov eax, dword [edi]
test eax, eax
je 0x101110aa
cmp dword [eax], 0
jne 0x101110aa
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x101110bf
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx ebx, cl
jmp 0x101110d2
mov eax, dword [edi]
test eax, eax
je 0x101110d0
cmp dword [eax], 0
jne 0x101110d0
mov dword [eax], 0x55
xor ebx, ebx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x101110e5
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edi, cl
jmp 0x101110f8
mov eax, dword [edi]
test eax, eax
je 0x101110f6
cmp dword [eax], 0
jne 0x101110f6
mov dword [eax], 0x55
xor edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x10111117
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 0x1011112a
mov eax, dword [ecx]
test eax, eax
je 0x10111128
cmp dword [eax], 0
jne 0x10111128
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 0x10111195
cmp edx, 0x7d00
jg 0x10111153
cmp edx, 0xffff8300
jge 0x10111168
mov ecx, dword [esp + 0x68]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x68], al
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x10110fb1
mov ebx, dword [esp + 0x18]
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1010d660
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
je 0x10110fb9
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 0x1010d668
mov edx, dword [esp + 0x28]
cmp byte [edx + 0x2f], 0
je 0x101111de
mov eax, 0x12
jmp 0x1010d91a
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x3c]
jne 0x10111201
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10111201
mov eax, 0x12
jmp 0x1010d91a
mov eax, dword [edx + 0x20]
add ebx, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10111232
push ebp
push edx
call fcn.10111f10
push edi
push dword [esp + 0x34]
mov ebp, eax
call fcn.10111f10
mov edx, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x64], edi
test ebp, ebp
js 0x1010e8e7
test edi, edi
js 0x1010e8e7
cmp byte [edx + 0x2e], 0
je 0x101112f4
mov eax, dword [edx + 8]
mov dword [esp + 0x7c], eax
push 2
mov eax, dword [eax + 0x9c]
mov edi, dword [eax]
push edi
mov dword [esp + 0x80], edi
call fcn.100cdd70
add esp, 8
test eax, eax
jne 0x1010d91a
mov edi, dword [edi + 0x58]
mov eax, 0x202
sub ebx, dword [esp + 0x4c]
push ebx
mov word [edi + 4], ax
mov eax, dword [esp + 0x68]
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.100d0e70
push dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.100d0e70
mov ecx, dword [esp + 0x84]
add esp, 8
mov edx, dword [esp + 0x78]
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 0x1010d916
push dword [edx + 0xc]
call fcn.100cde90
lea eax, [esp + 0x3e54]
push eax
push ebp
push dword [esp + 0x34]
call fcn.1010b460
add esp, 0x10
test eax, eax
jne 0x1010d91a
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 + 0x78], ecx
push dword [esp + 0x84]
push eax
push dword [esp + 0x60]
call fcn.1010d0f0
lea eax, [esp + 0x3e70]
push eax
push dword [esp + 0x4c]
call fcn.1010b310
mov edx, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x23], 0
jne 0x101113a1
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 + 0x64], 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.1010b460
add esp, 0xc
test eax, eax
jne 0x1010d91a
sub ebx, dword [esp + 0x4c]
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 + 0x84]
push eax
push dword [esp + 0x60]
call fcn.1010d0f0
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.1010b310
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 + 0x64]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
jmp 0x1010d916
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x10111449
cmp eax, 5
jne 0x10111468
cmp byte [esp + 0x23], 0
jne 0x10111468
push 0
push esi
call fcn.101117c0
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 0x1010d916
cmp byte [esp + 0x2ebc], 0
je 0x101114fd
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.1010be60
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x101114e3
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.1010c130
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
cmp byte [ebx + 9], 0
jne 0x1010d916
cmp byte [ebx + 8], 0
jne 0x1010d916
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x1010d916
cmp byte [esp + 0x3f10], 0
je 0x10111537
mov eax, 0x12
jmp 0x1010d91a
push esi
call fcn.10111870
push esi
mov edi, eax
call fcn.10111870
push esi
mov ebx, eax
call fcn.10111820
push esi
mov ebp, eax
call fcn.10111820
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x3e60]
push eax
push edi
mov edi, dword [esp + 0x40]
push edi
call fcn.1010b390
add esp, 0x1c
test eax, eax
jne 0x1010d91a
lea eax, [esp + 0x78]
push eax
push ebp
push dword [esp + 0x84]
mov ebp, dword [esp + 0x50]
lea eax, [esp + 0x3e5c]
push 1
push dword [esp + 0x94]
push dword [esp + 0x84]
push eax
push ebp
call fcn.1010d0f0
lea eax, [esp + 0x3e70]
push eax
push edi
call fcn.1010b2e0
lea eax, [esp + 0x3e78]
push eax
push ebx
push edi
call fcn.1010b390
add esp, 0x34
test eax, eax
jne 0x1010d91a
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 1
push dword [esp + 0x94]
lea eax, [esp + 0x3e64]
push dword [esp + 0x84]
push eax
push ebp
call fcn.1010d0f0
lea eax, [esp + 0x3e70]
push eax
push edi
call fcn.1010b2e0
add esp, 0x28
jmp 0x1010d916
xor eax, eax
jmp 0x1010d91e