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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
mov eax, dword [0x100ce16c]
xor eax, esp
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0x14]
mov edx, ecx
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x34], eax
xor al, al
mov dword [esp + 0x14], eax
cmp ecx, 0x5e0
mov byte [esp + 0x18], al
mov eax, dword [edx + 0x54]
mov dword [esp + 0x64], eax
sbb eax, eax
and eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
lea eax, [eax*8 + 0x100bd030]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x28], eax
mov eax, dword [eax]
shr eax, 0xe
and eax, 0x3ff
mov byte [esp + 0x37], 0
push esi
mov esi, dword [ebp + 0x10]
push edi
lea eax, [eax*8 + 0x100bc1e0]
mov dword [esp + 0xc], esi
movlpd qword [esp + 0x18], xmm0
mov dword [esp + 0x78], eax
call fcn.100077d0
mov ecx, esi
mov edi, eax
call fcn.100077d0
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.100077d0
mov edx, dword [esp + 0x4c]
lea ecx, [esi + eax*8]
mov esi, dword [esp + 0x38]
lea edi, [edi + ecx*8]
mov eax, dword [esi + 0x50]
sub eax, dword [esp + 0x70]
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
test edx, edx
sete al
or ecx, eax
or ecx, dword [esi + 0x34]
or ecx, dword [esi + 0x30]
mov dword [esp + 0x14], ecx
test ecx, 0x3e001
je 0x100086b0
cmp dword [esi + 0x10], 0
jne 0x1000848b
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd8]
xor ecx, esp
call fcn.1005fb30
mov esp, ebp
pop ebp
ret 0x14
test edx, edx
je case.default.0x100086fb
push 0x10
push esi
lea ecx, [esp + 0x78]
call fcn.10007a80
test eax, eax
jne 0x100087a7
mov eax, dword [esi + 0xc]
shr eax, 1
test al, 1
je 0x100085b1
movups xmm0, xmmword [ebx]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [esi]
movups xmmword [esp + 0x90], xmm0
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x40]
movups xmmword [esp + 0xa0], xmm0
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x14]
movups xmmword [esp + 0xb0], xmm0
test al, 2
je 0x10008512
movups xmm0, xmmword [ecx + 0x58]
movups xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [ecx + 0x68]
movups xmmword [esp + 0xd0], xmm0
jmp 0x10008553
xorps xmm0, xmm0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
movlpd qword [esp + 0xc8], xmm0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
movlpd qword [esp + 0xd8], xmm0
mov edx, dword [esp + 0x4c]
add ecx, 0x38
mov dword [esp + 0x54], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], edx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
movzx ecx, byte [eax + 0x18]
lea eax, [ecx - 1]
cmp eax, 1
ja 0x100085a7
lea eax, [esp + 0x80]
push 6
push eax
lea edx, [esp + 0x58]
call fcn.10015f50
add esp, 8
test eax, eax
jne 0x100087a7
mov edx, dword [esp + 0x2c]
jmp 0x100085b4
mov eax, 4
jmp 0x100087a7
lea edx, [esi + 0x38]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x14]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100bc1e0]
mov dword [esp + 0x7c], eax
test ecx, 0x2000
je 0x1000866a
mov eax, ecx
and eax, 0x30000
test dword [esp + 0x7c], 0x4000
jne 0x100085fc
test eax, eax
jne 0x10008600
mov eax, 0x21
jmp 0x100087a7
test eax, eax
je 0x1000865b
mov eax, dword [esp + 0x7c]
test ecx, 0x10000
je 0x1000861d
test eax, 0x8000
jne 0x1000861d
mov eax, 0x22
jmp 0x100087a7
test ecx, 0x20000
je 0x1000863b
test eax, 0x10000
jne 0x1000863b
mov ecx, 0x23
call fcn.10007760
jmp 0x100087a7
mov eax, dword [esp + 0x70]
shr ecx, 0x10
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x70], eax
jmp 0x1000865f
mov eax, dword [esp + 0x70]
mov byte [eax], 0xf0
inc dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
test ecx, 0xc000
je 0x100086b0
test eax, 0x1000
je 0x10008702
cmp dword [edx], 0
je 0x1000869b
mov ecx, edx
call fcn.1000ec20
test eax, eax
jne 0x10008702
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x3c], 1
jne 0x10008702
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
shr ecx, 0xf
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x70]
mov edx, dword [esp + 0x30]
movzx eax, byte [edx + 6]
mov eax, dword [eax*4 + 0x100bff30]
mov esi, eax
shr esi, 0x12
and esi, 7
mov dword [esp + 0x44], esi
mov dword [esp + 0x6c], esi
movzx esi, byte [edx + 5]
or esi, eax
mov eax, esi
mov dword [esp + 0x74], esi
movzx esi, byte [edx + 4]
mov dword [esp + 0x2c], esi
cmp esi, 0x8c
mov esi, dword [esp + 0xc]
mov dword [esp + 0x68], eax
ja case.default.0x100086fb
mov ecx, dword [esp + 0x2c]
jmp dword [ecx*4 + 0x1000e548]
mov eax, 0x24
jmp 0x100087a7
cmp edi, 3
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007940
movzx eax, al
cdq
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov dword [esp + 0x60], 0
jmp 0x1000bede
mov ecx, ebx
call fcn.100077f0
test al, al
je case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007860
mov ecx, dword [esp + 0x38]
movzx esi, byte [eax + 0x100bb9f8]
call fcn.10007d70
test esi, eax
lea ecx, [esp + 0x70]
setne al
movzx eax, al
push eax
call fcn.1000ed50
jmp case.0x100086fb.1
test edi, edi
je case.0x100086fb.1
cmp edi, 1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
test eax, eax
je case.0x100086fb.1
mov eax, 0x1b
push dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x2c]
push dword [esp + 0x14]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x60]
push eax
call fcn.10013740
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd8]
xor ecx, esp
call fcn.1005fb30
mov esp, ebp
pop ebp
ret 0x14
test edi, edi
je case.0x100086fb.1
cmp edi, 9
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
cmp eax, 2
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
jmp case.0x100086fb.1
test edi, edi
je case.0x100086fb.1
cmp edi, 2
jne case.default.0x100086fb
xor edx, edx
mov ecx, ebx
call fcn.10007e70
test al, al
je case.default.0x100086fb
mov edi, ebx
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.100078e0
mov ecx, edi
movzx eax, byte [eax + 0x100bb9f8]
mov dword [esp + 0x74], eax
call fcn.10007760
mov ecx, eax
call fcn.100078f0
test al, al
jne case.default.0x100086fb
test byte [esp + 0x74], 2
jne case.default.0x100086fb
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.10007fb0
push dword [esp + 0x14]
lea ecx, [esp + 0x6c]
call fcn.10007dc0
mov esi, eax
mov ecx, esi
call fcn.10007f90
test al, al
jne 0x1000c05a
and esi, 0x7f
setne cl
or esi, 0x40
movzx ecx, cl
push ecx
push esi
lea ecx, [esp + 0x78]
call fcn.1000ece0
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007d50
push eax
lea ecx, [esp + 0x74]
call fcn.10008050
mov ecx, dword [esp + 0x38]
call fcn.10007d70
test dword [esp + 0x74], eax
lea ecx, [esp + 0x70]
setne al
movzx eax, al
push eax
call fcn.1000ed50
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.10007ff0
push 0
push 0
push 0
lea ecx, [esp + 0x7c]
call fcn.100080f0
jmp case.0x100086fb.0
cmp edi, 3
jne 0x10008922
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007940
movzx eax, al
cdq
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp case.0x100086fb.1
cmp edi, 0x19
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
mov ecx, esi
jmp 0x100088fb
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], eax
cmp edi, 1
je 0x1000bede
mov dword [esp + 0x10], ebx
cmp edi, 2
je 0x10009258
jmp case.default.0x100086fb
cmp edi, 2
jne case.default.0x100086fb
mov edi, ebx
jmp 0x1000bf88
test edi, edi
je case.0x100086fb.1
push 0x11f
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov dword [esp + 0x6c], 0
cmp edi, 1
jne 0x100089bc
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000edc0
mov ecx, ebx
jmp 0x1000bed5
cmp edi, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000edc0
mov edi, ebx
jmp 0x1000bf88
cmp edi, 1
jne case.default.0x100086fb
mov ecx, ebx
jmp 0x1000bed5
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
cmp edi, 9
jne 0x10008a13
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bed3
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
cmp edi, 9
jne 0x10008a79
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, 2
jne 0x10008a63
push 0x66
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000bede
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ede0
jmp 0x1000bede
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov ecx, ebx
mov dword [esp + 0x10], edi
call fcn.10007840
cmp eax, 2
jne 0x10008aaf
push 0x66
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000bf8c
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ede0
jmp 0x1000bf8c
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
cmp edi, 9
jne 0x10008af2
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x60], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x6c], eax
jmp 0x1000bede
cmp edi, 0xa
jne case.default.0x100086fb
mov edi, ebx
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf8c
cmp edi, 9
jne 0x10008bfe
push 2
lea ecx, [esp + 0x6c]
call fcn.10007d90
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jne 0x1000b1fe
mov ecx, ebx
call fcn.10007850
mov esi, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, 1
jne 0x1000a071
cmp dword [ebx], 0x1000019
je 0x10008b95
cmp dword [esp + 0x6c], 4
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x40000000
jmp 0x10008b9f
add dword [esp + 0x6c], 4
mov ecx, 0x80000000
or ecx, dword [esp + 0x14]
cmp dword [esi], 0x1000019
je 0x10008bbe
cmp dword [esp + 0x60], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
jmp 0x10008bc8
add dword [esp + 0x60], 4
mov eax, 0x80000000
or eax, ecx
mov dword [esp + 0x14], eax
test eax, 0x800
je 0x1000bede
push 2
lea ecx, [esp + 0x6c]
call fcn.10007df0
lea edx, [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.1000ecb0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x1000bede
cmp edi, 0x11
jne 0x10008c75
push 2
lea ecx, [esp + 0x6c]
call fcn.10007d90
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov ecx, ebx
mov dword [esp + 0x10], edi
call fcn.10007840
cmp eax, 1
jne 0x1000bf8c
cmp dword [ebx], 0x1000019
je 0x10008c62
cmp dword [esp + 0x6c], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x14], eax
jmp 0x1000bf8c
add dword [esp + 0x6c], 4
mov eax, 0x80000000
or dword [esp + 0x14], eax
jmp 0x1000bf8c
cmp edi, 0xa
jne 0x10008cb9
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007840
cmp eax, 1
jne 0x1000bf8c
mov ecx, esi
call fcn.10007c70
test al, al
jne 0x10008c62
jmp 0x10008c48
push 0x80
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp edi, 0x19
jne 0x10008ee9
mov ecx, ebx
call fcn.10007840
mov ecx, ebx
mov dword [esp + 0x78], eax
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], edx
cmp eax, 1
jne 0x10008d53
mov ecx, ebx
call fcn.10007c70
test al, al
jne 0x10008d35
cmp dword [esp + 0x60], 4
lea ecx, [edi - 0x18]
mov eax, dword [esp + 0x14]
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
or eax, edx
mov dword [esp + 0x14], eax
jmp 0x10008e55
mov eax, dword [esp + 0x14]
mov edx, 0x80000000
add dword [esp + 0x60], 4
mov ecx, 1
or eax, edx
mov dword [esp + 0x14], eax
jmp 0x10008e55
cmp eax, 2
jne 0x10008d6b
push 0x200000
lea ecx, [esp + 0x6c]
call fcn.10007e10
jmp 0x10008e0f
cmp eax, 4
jne 0x10008d8d
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ee00
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x10008e0f
cmp eax, 8
jne 0x10008e0f
cmp dword [esp + 0x4c], 0x15
jne 0x10008db2
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ec90
add esp, 8
mov byte [esp + 0x37], 1
test al, al
jne 0x10008db7
mov byte [esp + 0x37], 0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ec60
add esp, 8
test al, al
jne 0x10008de0
cmp byte [esp + 0x37], al
jne 0x10008df6
mov ecx, 0x32
call fcn.10007760
jmp 0x100087a7
cmp byte [esp + 0x37], 0
je 0x10008e01
mov ecx, dword [esp + 0x38]
push 4
call fcn.10007a60
test al, al
je 0x10008e01
mov eax, 4
mov dword [esp + 0x78], eax
jmp 0x10008e05
mov eax, dword [esp + 0x78]
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ede0
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 4
lea ecx, [esp + 0x78]
call fcn.1000ecd0
push dword [esp + 0x1c]
mov dword [esp + 0x24], eax
push dword [esp + 0x1c]
mov byte [esp + 0x2c], al
call fcn.1000ec30
mov ecx, dword [esp + 0x28]
add esp, 8
test al, al
mov eax, dword [esp + 0x14]
je 0x10008e5d
test al, 0x80
movzx ecx, cl
mov edx, 1
cmove ecx, edx
mov byte [esp + 0x24], cl
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x60], 0
mov edx, dword [esp + 0x78]
jne 0x10008ec6
cmp edx, 1
je 0x10008e72
cmp cl, 1
je 0x10008ec6
test al, al
js 0x10008ec6
push 0x8200000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov eax, dword [esp + 0x6c]
xor ecx, ecx
cmp dword [esp + 0x78], 1
setne cl
shl eax, 3
add ecx, 4
or ecx, eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007e10
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 4
lea ecx, [esp + 0x78]
call fcn.1000ecd0
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp case.0x100086fb.1
xor eax, eax
cmp edx, 1
je 0x10008eda
cmp cl, 1
sete al
lea eax, [eax*2 + 1]
push eax
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bede
cmp edi, 0x1a
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
mov dword [esp + 0x7c], eax
test eax, eax
je 0x1000b146
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov esi, edx
mov dword [esp + 0x2c], 4
mov edi, eax
mov dword [esp + 0x1c], esi
lea edx, [esp + 0x2c]
mov dword [esp + 0x18], edi
lea ecx, [esp + 0x7c]
call fcn.1000ecd0
cmp dword [esp + 0x7c], 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jne 0x10008f55
push esi
push edi
call fcn.1000ee00
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ec30
add esp, 8
test al, al
je 0x10008f87
mov ecx, dword [esp + 0x20]
test byte [esp + 0x14], 0x80
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x10008f8b
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [esp + 0x7c], 1
je 0x10008fa0
cmp al, 1
sete cl
lea ecx, [ecx*2 + 1]
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007d90
push dword [esp + 0x7c]
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov edi, ebx
jmp 0x1000bf88
cmp edi, 1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
cmp eax, edi
je case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
jmp 0x1000b29b
mov ecx, esi
cmp edi, 9
jne 0x1000901f
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x6c], eax
mov ecx, ebx
jmp 0x1000bed5
cmp edi, 0xa
jne 0x10009045
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x6c], eax
mov edi, ebx
jmp 0x1000bf88
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
lea ecx, [esp + 0x68]
call fcn.10007db0
mov dword [esp + 0x6c], eax
cmp edi, 0x19
jne 0x100090a0
mov ecx, ebx
jmp 0x1000bed5
cmp edi, 0x1a
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
test eax, eax
je 0x1000b146
mov edi, ebx
jmp 0x1000bf88
cmp edi, 1
jne 0x100090cb
mov ecx, ebx
jmp 0x1000bed5
mov esi, ebx
mov dword [esp + 0x10], esi
cmp edi, 2
je 0x10009258
push 0xe8
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], 0
jmp 0x100099d4
test edi, 0x1c0
je 0x10009126
mov ecx, dword [esp + 0x28]
call fcn.10007870
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x28]
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
and edi, 0x3f
cmp edi, 9
jne 0x100091ec
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jne 0x1000b1fe
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov esi, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007840
cmp eax, 1
jne 0x1000bede
mov ecx, ebx
call fcn.10007c70
test al, al
jne 0x100091a2
cmp dword [esp + 0x60], 4
sbb edi, edi
and edi, 0xc0000000
add edi, 0x40000000
jmp 0x100091ac
add dword [esp + 0x60], 4
mov edi, 0x80000000
or edi, dword [esp + 0x14]
mov ecx, esi
call fcn.10007c70
test al, al
jne 0x100091d7
cmp dword [esp + 0x6c], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, edi
mov dword [esp + 0x14], eax
jmp 0x1000bede
add dword [esp + 0x6c], 4
mov eax, 0x80000000
or eax, edi
mov dword [esp + 0x14], eax
jmp 0x1000bede
cmp edi, 0xa
jne case.default.0x100086fb
mov edi, esi
mov ecx, edi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, edi
call fcn.10007850
mov ecx, edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], ebx
call fcn.10007840
cmp eax, 1
jne 0x10009258
mov ecx, ebx
call fcn.10007c70
test al, al
jne 0x1000924a
cmp dword [esp + 0x6c], 4
mov edi, ebx
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x14], eax
jmp 0x1000bf8c
add dword [esp + 0x6c], 4
mov eax, 0x80000000
or dword [esp + 0x14], eax
mov edi, ebx
jmp 0x1000bf8c
cmp edi, 0x4a
jne case.0x100086fb.13
mov ecx, dword [esp + 0x40]
call fcn.100077f0
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + 0x58]
call fcn.100077f0
test al, al
je case.default.0x100086fb
mov edi, ebx
jmp 0x1000bf88
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ede0
cmp edi, 9
jne 0x10009312
mov ecx, esi
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, 1
jne 0x100092eb
cmp dword [esi], 0x1000019
jne 0x100096c7
add dword [esp + 0x60], 4
mov eax, 0x80000000
or dword [esp + 0x14], eax
jmp 0x1000bede
mov ecx, esi
call fcn.10007840
cmp eax, 2
jne 0x10009302
push 0x66
lea ecx, [esp + 0x74]
call fcn.1000ed20
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bede
cmp edi, 0x11
jne case.default.0x100086fb
mov edi, esi
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007840
test eax, eax
je 0x1000b146
mov ecx, esi
call fcn.10007840
cmp eax, 2
jne 0x10009347
push 0x66
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov ecx, esi
call fcn.10007840
dec eax
lea ecx, [esp + 0x68]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10007d90
jmp 0x1000bf8c
cmp edi, 0x1b
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007950
mov ecx, esi
mov di, ax
call fcn.10007760
mov ecx, eax
call fcn.10007940
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
shld esi, ecx, 0x10
movzx eax, di
cdq
shl ecx, 0x10
or ecx, eax
mov al, 3
or esi, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp case.0x100086fb.1
cmp edi, 0xc9
jne 0x10009454
push 0x6b
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, edx
mov edi, eax
mov al, 1
mov dword [esp + 0x18], edi
push ecx
push edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], al
call fcn.1000ec30
add esp, 8
test al, al
je 0x1000941d
test byte [esp + 0x14], 0x80
je 0x10009444
push 2
lea ecx, [esp + 0x6c]
call fcn.10007df0
mov ecx, ebx
call fcn.10007840
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bed3
cmp edi, 0xd1
jne 0x10009513
push 0x6b
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov edi, eax
mov dword [esp + 0x1c], edx
mov al, 1
mov dword [esp + 0x18], edi
mov ecx, ebx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007840
cmp eax, 4
jne 0x100094c1
push dword [esp + 0x1c]
push edi
call fcn.1000ee00
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ec30
add esp, 8
test al, al
je 0x100094dc
test byte [esp + 0x14], 0x80
je 0x10009503
push 2
lea ecx, [esp + 0x6c]
call fcn.10007df0
mov ecx, ebx
call fcn.10007840
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
cmp edi, 9
jne 0x1000957c
mov ecx, esi
call fcn.10007840
cmp eax, 1
je 0x1000968d
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jne 0x1000b1fe
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.10007850
push 0x1af
lea ecx, [esp + 0x6c]
mov dword [esp + 0x64], eax
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
jmp 0x1000bede
cmp edi, 0x11
jne 0x100095c6
mov ecx, esi
call fcn.10007840
cmp eax, 1
je 0x100096e6
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
push 0x1af
lea ecx, [esp + 0x6c]
mov dword [esp + 0x14], edi
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
jmp 0x1000bf8c
cmp edi, 0x19
jne case.0x100086fb.12
push 0x6b
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov edi, eax
mov esi, edx
mov al, 1
mov dword [esp + 0x18], edi
mov ecx, ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007840
cmp eax, 4
jne 0x1000962d
push esi
push edi
call fcn.1000ee00
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ec30
add esp, 8
test al, al
je 0x10009648
test byte [esp + 0x14], 0x80
je 0x1000966f
push 2
lea ecx, [esp + 0x6c]
call fcn.10007df0
mov ecx, ebx
call fcn.10007840
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000beda
cmp edi, 7
jbe case.0x100086fb.11
cmp edi, 9
jne 0x100096e1
xor edx, edx
mov ecx, ebx
call fcn.10007d00
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007c90
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x60], eax
mov ecx, esi
call fcn.10007c70
test al, al
jne 0x100092d8
cmp dword [esp + 0x60], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x14], eax
jmp 0x1000bede
cmp edi, 0x11
jne 0x100096fc
xor edx, edx
mov ecx, ebx
call fcn.10007d00
test al, al
je case.default.0x100086fb
jmp 0x1000bf86
cmp edi, 0x49
jne 0x10009733
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, dword [esp + 0x28]
jmp 0x1000bed5
cmp edi, 0x89
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov edi, dword [esp + 0x28]
jmp 0x1000bf88
cmp edi, 1
jne 0x100097a8
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, edi
jne 0x1000bede
mov ecx, ebx
jmp 0x100096ba
cmp edi, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
test eax, eax
je 0x1000b146
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0x19
jne 0x1000984b
mov ecx, ebx
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007940
movzx eax, al
mov ecx, ebx
cdq
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007840
mov ecx, dword [esp + 0x30]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10007fa0
add eax, esi
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000edc0
jmp case.0x100086fb.1
cmp edi, 9
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007850
cmp eax, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
dec eax
lea ecx, [esp + 0x68]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10007d90
jmp 0x10009835
cmp edi, 0xa
jne case.default.0x100086fb
lea edx, [edi - 3]
mov ecx, ebx
call fcn.10007e70
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007850
cmp eax, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
mov esi, eax
test esi, esi
je 0x1000b146
xor ecx, ecx
mov edi, ebx
cmp esi, 1
setne cl
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007d90
push esi
lea ecx, [esp + 0x6c]
call fcn.1000edc0
jmp 0x10008822
cmp edi, 1
jne 0x10009952
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, edi
jne 0x10009918
cmp dword [ebx], 0x1000019
je 0x100092d8
jmp 0x100096c7
mov ecx, dword [esp + 0x38]
call fcn.10007a20
test al, al
je 0x1000993c
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
mov ecx, dword [esp + 0x60]
and ecx, 7
add eax, ecx
jmp 0x1000982b
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
jmp 0x1000bede
cmp edi, 2
jne case.default.0x100086fb
jmp 0x100097c0
cmp edi, 3
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp case.0x100086fb.1
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
test byte [edi + 0xc], 0x10
je 0x100099c6
test ecx, 0x100
je 0x100099b3
push 0x3e
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov ecx, dword [esp + 0x14]
test ecx, 0x200
je 0x100099c6
push 0x2e
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], 0
mov esi, ebx
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x14]
shr eax, 0x18
cmp eax, 0x80
ja 0x1000c05a
and eax, 0x7f
mov cl, al
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x70]
or cl, 0x40
mov edi, dword [esp + 0x2c]
mov byte [eax], cl
xor ecx, ecx
mov eax, dword [esp + 0x70]
test edi, edi
setne cl
add eax, ecx
mov ecx, dword [esp + 0x38]
add ecx, 0x4c
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [ecx]
cmp eax, ecx
jb 0x1000e50a
sub eax, ecx
mov dword [esp + 0x74], eax
movzx eax, byte [edx + 7]
mov eax, dword [eax*4 + 0x100bce20]
mov dword [esp + 0x44], eax
test eax, 0x1f00
jne 0x1000e492
push 0x1f00
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
je 0x10009b41
push 0x1f00
lea ecx, [esp + 0x6c]
call fcn.10007e20
cmp eax, 0x100
jne 0x1000e47e
jmp 0x10009b41
mov ecx, ebx
call fcn.100077f0
test al, al
je 0x10009b09
mov edx, 1
mov ecx, ebx
call fcn.10007880
test al, al
je case.default.0x100086fb
mov edi, dword [esp + 0x38]
mov ecx, edi
call fcn.10007a20
test al, al
je 0x10009ab8
mov ecx, ebx
call fcn.10007840
cmp eax, 2
je 0x10009acf
mov ecx, edi
call fcn.10007a30
test al, al
je 0x10009aec
mov ecx, ebx
call fcn.10007840
cmp eax, 4
jne 0x10009aec
mov al, 1
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed50
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], 0
jmp 0x100099d4
xor al, al
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed50
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], 0
jmp 0x100099d4
mov edx, dword [esp + 0x30]
mov esi, ebx
mov dword [esp + 0x6c], 0
jmp 0x100099d4
cmp edi, 1
jne 0x10009b28
mov ecx, ebx
jmp 0x1000bed5
mov esi, ebx
mov dword [esp + 0x10], esi
cmp edi, 2
je 0x10009258
push 0xe9
jmp 0x100090df
xor eax, eax
lea ecx, [esp + 0x68]
cmp dword [esp + 0x6c], eax
push 0x1f00
setne al
add eax, 5
mov dword [esp + 0x14], eax
call fcn.10007e20
xor ecx, ecx
cmp eax, 0x100
sete cl
add dword [esp + 0x10], ecx
mov ecx, esi
call fcn.10007820
mov ecx, esi
test al, al
je 0x10009c77
mov edi, dword [esp + 0x38]
add edi, 0x10
mov dword [esp + 0x78], edi
call fcn.10007760
mov ecx, dword [edi]
push eax
call fcn.100079f0
mov esi, eax
test esi, esi
je 0x1000e398
mov eax, dword [esp + 0x38]
mov ecx, esi
add eax, 0x48
mov dword [esp + 0x30], eax
push dword [eax]
call fcn.100079a0
test al, al
je 0x10009bd0
mov ecx, esi
call fcn.100079b0
mov esi, eax
mov eax, dword [esp + 0x10]
sub esi, eax
sub esi, dword [esp + 0x74]
jmp 0x10009d22
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
test edx, edx
je 0x10009c00
test eax, eax
je 0x10009be9
mov ecx, dword [esp + 0x14]
and ecx, 0x40
je 0x10009c07
push edx
lea ecx, [esp + 0x74]
call fcn.1000ed20
or edi, 0xffffffff
mov byte [esp + 0x3f], 1
jmp 0x1000e2e8
mov ecx, dword [esp + 0x14]
and ecx, 0x40
test eax, eax
je 0x10009d0f
test ecx, ecx
jne 0x10009d0f
push 0x1f00
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
lea ecx, [esp + 0x70]
setne al
movzx eax, al
push eax
push 0xf
call fcn.1000ece0
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov edx, dword [esp + 0x6c]
test edx, edx
setne al
movzx eax, al
push eax
push ecx
push 0
mov ecx, 3
call fcn.10007ed0
add esp, 8
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
mov edi, 0xfffffffc
jmp 0x1000e2e3
call fcn.10007810
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x38]
call fcn.10007a10
mov ecx, eax
call fcn.10007970
mov ecx, esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, dword [esp + 0x7c]
and ecx, dword [esp + 0x78]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], edx
cmp ecx, 0xffffffff
je 0x10009e56
mov ecx, dword [esp + 0x38]
mov esi, eax
sub esi, dword [esp + 0x10]
sbb edx, 0
sub esi, dword [esp + 0x7c]
sbb edx, dword [esp + 0x78]
sub esi, dword [esp + 0x74]
sbb edx, 0
mov dword [esp + 0x2c], edx
call fcn.10007a40
cmp eax, 1
je 0x10009d1e
push dword [esp + 0x2c]
push esi
call fcn.1000ec60
add esp, 8
test al, al
jne 0x10009d1e
mov ecx, dword [esp + 0x4c]
call fcn.10007e50
test al, al
jne 0x10009e56
mov ecx, 0x30
call fcn.10007760
jmp 0x100087a7
mov eax, dword [esp + 0x10]
lea edi, [esi - 2]
add edi, eax
mov ecx, edi
call fcn.1000eeb0
mov ecx, dword [esp + 0x14]
test al, al
je 0x10009d5f
mov edx, dword [esp + 0x44]
test edx, edx
je 0x10009d5f
test cl, cl
js 0x10009d5f
or ecx, 0x40
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x70]
push edx
call fcn.1000ed20
push edi
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp case.0x100086fb.0
cmp dword [esp + 0x68], 0
je 0x10009d0f
test ecx, 0x40
jne 0x10009d0f
and ecx, 0xffffffbf
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x68]
push 0x1f00
call fcn.10007e20
test eax, eax
lea ecx, [esp + 0x70]
setne al
movzx eax, al
push eax
push 0xf
call fcn.1000ece0
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov edx, dword [esp + 0x6c]
test edx, edx
setne al
movzx eax, al
push eax
push ecx
push 0
mov ecx, 3
call fcn.10007ed0
add esp, 8
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
push esi
lea ecx, [esp + 0x74]
call fcn.1000ed30
mov ecx, dword [esp + 0x14]
test cl, 1
je 0x10009e13
mov edx, dword [esp + 0x38]
test byte [edx + 0xc], 1
je 0x10009e13
push dword [esp + 0x70]
mov eax, dword [esp + 0x24]
movzx eax, al
push eax
movzx eax, byte [esp + 0x47]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x38]
push dword [esp + 0x20]
push ebx
push ecx
push dword [esp + 0x6c]
mov ecx, edx
call fcn.100134b0
mov ecx, dword [esp + 0x38]
push ecx
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x3c], 0
mov dword [ecx + 0x40], 0
lea ecx, [esp + 0x74]
call fcn.10007c30
mov ecx, dword [esp + 0xe4]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005fb30
mov esp, ebp
pop ebp
ret 0x14
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x64]
push 0
push 4
push eax
mov ecx, dword [esi + 0x10]
call fcn.100100e0
test eax, eax
jne 0x100087a7
mov ecx, esi
call fcn.10007a70
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
mov ecx, dword [esi + 0x48]
call fcn.10007980
mov ecx, dword [esp + 0x64]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x1c], ecx
cmp dword [esp + 0x68], 0
je 0x10009f87
mov ecx, esi
call fcn.10007a40
cmp eax, 1
je 0x10009efc
mov ecx, dword [esp + 0x4c]
call fcn.10007e50
test al, al
je 0x10009efc
test edi, edi
jne 0x10009edc
push 0x40
lea ecx, [esp + 0x74]
call fcn.1000ed20
push dword [esp + 0x30]
mov ecx, dword [esi + 0x10]
push dword [esp + 0x28]
call fcn.1000f780
test eax, eax
jne 0x100087a7
mov eax, dword [esp + 0x64]
mov byte [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
lea ecx, [esp + 0x70]
setne al
movzx eax, al
push eax
push 0xf
call fcn.1000ece0
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov edx, dword [esp + 0x6c]
test edx, edx
setne al
movzx eax, al
push eax
push ecx
push 0
mov ecx, 3
call fcn.10007ed0
add esp, 8
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
push 0
lea ecx, [esp + 0x74]
call fcn.1000ed30
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x70]
mov byte [eax + 5], 4
push dword [esi + 0x54]
call fcn.10007bc0
mov ecx, dword [esp + 0x64]
sub al, 4
mov byte [ecx + 6], al
mov eax, dword [esp + 0x64]
mov byte [eax + 7], 0
jmp case.0x100086fb.0
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x70]
push edx
call fcn.1000ed20
push 0
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x70]
mov byte [eax + 5], 1
push dword [esi + 0x54]
call fcn.10007bc0
mov ecx, dword [esp + 0x64]
dec al
mov byte [ecx + 6], al
mov eax, dword [esp + 0x64]
mov byte [eax + 7], 0
jmp case.0x100086fb.0
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
cmp edi, 9
jne 0x1000a22f
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007870
mov ecx, esi
test al, al
je 0x1000a1cb
call fcn.10007870
mov ecx, ebx
test al, al
je 0x1000a118
call fcn.10007840
mov ecx, esi
mov edi, eax
call fcn.10007840
cmp edi, eax
je 0x1000a09c
cmp edi, 8
jne case.default.0x100086fb
cmp eax, 4
jne case.default.0x100086fb
mov edi, eax
push 0x8b
lea ecx, [esp + 0x6c]
call fcn.10007de0
push edi
lea ecx, [esp + 0x6c]
call fcn.1000ed80
test dword [esp + 0x14], 0x800
je 0x1000bede
push 2
lea ecx, [esp + 0x6c]
call fcn.10007df0
lea edx, [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.1000ecb0
jmp 0x1000bede
cmp edi, 1
jne 0x1000a059
mov ecx, ebx
call fcn.10007c70
test al, al
jne 0x1000a0c1
cmp dword [esp + 0x6c], 4
sbb edi, edi
and edi, 0xc0000000
add edi, 0x40000000
jmp 0x1000a0cb
add dword [esp + 0x6c], 4
mov edi, 0x80000000
or edi, dword [esp + 0x14]
mov ecx, esi
call fcn.10007c70
test al, al
jne 0x1000a0ed
cmp dword [esp + 0x60], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
jmp 0x1000a0f7
add dword [esp + 0x60], 4
mov eax, 0x80000000
or eax, edi
lea ecx, [esp + 0x68]
push 0x8a
mov dword [esp + 0x18], eax
call fcn.10007de0
test dword [esp + 0x14], 0x800
jmp 0x10008bd3
mov eax, dword [esp + 0x60]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007cd0
test al, al
je 0x1000a15c
push 0x8c
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
dec dword [esp + 0x6c]
jmp 0x1000bede
mov ecx, esi
call fcn.10007ce0
test al, al
je 0x1000a1a9
push 0x120
lea ecx, [esp + 0x6c]
call fcn.10007de0
test byte [esp + 0x6c], 8
je 0x1000bede
mov ecx, dword [esp + 0x38]
call fcn.10007a20
test al, al
je 0x1000bede
push 0xf0
lea ecx, [esp + 0x74]
call fcn.1000ed20
and dword [esp + 0x6c], 7
jmp 0x1000bede
mov ecx, esi
call fcn.10007cf0
test al, al
je case.default.0x100086fb
push 0x121
lea ecx, [esp + 0x6c]
call fcn.10007de0
jmp 0x1000bede
call fcn.10007870
test al, al
je case.default.0x100086fb
mov ecx, ebx
call fcn.10007cd0
test al, al
je 0x1000a1f8
push 0x8e
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, esi
jmp 0x1000a144
mov ecx, ebx
call fcn.10007ce0
test al, al
je 0x1000a20d
push 0x122
jmp 0x1000a16c
mov ecx, ebx
call fcn.10007cf0
test al, al
je case.default.0x100086fb
push 0x123
lea ecx, [esp + 0x6c]
call fcn.10007de0
jmp 0x1000bede
cmp edi, 0x11
jne 0x1000a350
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov ecx, ebx
mov dword [esp + 0x10], edi
call fcn.10007cd0
lea ecx, [esp + 0x68]
test al, al
je 0x1000a27c
push 0x8e
call fcn.10007de0
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
dec dword [esp + 0x6c]
jmp 0x1000bf8c
push 0
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007840
cmp eax, 1
jne 0x1000a2d8
mov ecx, ebx
call fcn.10007c70
test al, al
mov eax, dword [esp + 0x6c]
jne 0x1000a2c6
cmp eax, 4
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x40000000
or dword [esp + 0x14], ecx
jmp 0x1000a2dc
add eax, 4
mov ecx, 0x80000000
or dword [esp + 0x14], ecx
mov dword [esp + 0x6c], eax
jmp 0x1000a2dc
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x1000a33d
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.100078d0
test al, al
jne 0x1000a33d
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007910
mov ecx, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.10007760
push eax
push dword [esp + 0x18]
mov ecx, ebx
call fcn.10007840
mov esi, dword [esp + 0x40]
lea edx, [esp + 0x78]
push eax
mov ecx, esi
call fcn.10008170
add esp, 0xc
cmp eax, 1
jne 0x1000a33d
mov eax, 0xa0
jmp 0x1000a44a
push 0x8a
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bf8c
cmp edi, 0xa
jne 0x1000a493
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007cd0
lea ecx, [esp + 0x68]
test al, al
je 0x1000a38a
push 0x8c
call fcn.10007de0
mov ecx, ebx
jmp 0x1000a264
push 0
call fcn.10007de0
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, esi
call fcn.10007840
cmp eax, 1
jne 0x1000a3e6
mov ecx, esi
call fcn.10007c70
test al, al
mov eax, dword [esp + 0x6c]
jne 0x1000a3d4
cmp eax, 4
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x40000000
or dword [esp + 0x14], ecx
jmp 0x1000a3ea
add eax, 4
mov ecx, 0x80000000
or dword [esp + 0x14], ecx
mov dword [esp + 0x6c], eax
jmp 0x1000a3ea
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x1000a480
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.100078d0
test al, al
jne 0x1000a480
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007910
mov ecx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.10007760
push eax
push dword [esp + 0x18]
mov ecx, esi
call fcn.10007840
mov esi, dword [esp + 0x40]
lea edx, [esp + 0x78]
push eax
mov ecx, esi
call fcn.10008170
add esp, 0xc
cmp eax, 1
jne 0x1000a480
mov eax, 0xa2
push eax
lea ecx, [esp + 0x6c]
call fcn.10007d90
mov ecx, esi
call fcn.10007a50
mov ecx, edi
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007760
mov ecx, eax
call fcn.10007d50
push eax
lea ecx, [esp + 0x74]
call fcn.10008050
jmp case.0x100086fb.1
push 0x88
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bf8c
cmp edi, 0x19
jne 0x1000a5ca
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007840
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp al, 1
jne 0x1000a515
mov ecx, ebx
call fcn.10007c70
test al, al
jne 0x1000a4da
cmp dword [esp + 0x6c], 4
sbb edi, edi
and edi, 0xc0000000
add edi, 0x40000000
jmp 0x1000a4e4
add dword [esp + 0x6c], 4
mov edi, 0x80000000
push 0xb0
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007940
or dword [esp + 0x14], edi
movzx eax, al
cdq
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x1000b29b
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, dword [esp + 0x20]
mov edi, eax
mov dword [esp + 0x18], edi
mov eax, edx
mov dword [esp + 0x1c], eax
cmp cl, 8
jne 0x1000a566
test byte [esp + 0x14], 0x80
jne 0x1000a566
push eax
push edi
call fcn.1000ec90
add esp, 8
test al, al
je 0x1000a586
mov ecx, dword [esp + 0x38]
push 4
call fcn.10007a60
test al, al
je 0x1000a586
mov al, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
push 0xb8
lea ecx, [esp + 0x6c]
call fcn.10007de0
push dword [esp + 0x24]
lea ecx, [esp + 0x6c]
call fcn.1000ee10
jmp 0x1000b29b
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.1000ec60
add esp, 8
test al, al
je 0x1000a566
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x68]
push 0x80000c7
mov dword [esp + 0x64], eax
call fcn.10007de0
mov eax, 4
mov dword [esp + 0x6c], 0
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bede
cmp edi, 0x1a
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
mov dword [esp + 0x74], eax
test eax, eax
je 0x1000b146
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007de0
push dword [esp + 0x74]
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov edi, ebx
mov dword [esp + 0x6c], 0
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x74]
lea edx, [esp + 0x2c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], 4
call fcn.1000ecd0
mov cl, al
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], cl
jmp 0x1000bf8c
mov ecx, esi
call fcn.10007840
dec eax
lea ecx, [esp + 0x68]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10007d90
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
cmp edi, 9
jne 0x10008a13
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, 1
jne 0x1000bede
cmp dword [esi], 0x1000019
je 0x100092d8
jmp 0x100096c7
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007c80
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee30
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x6c], eax
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0x12
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov edi, esi
mov dword [esp + 0x74], eax
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007860
mov ecx, dword [esp + 0x74]
mov esi, eax
call fcn.10007860
cmp eax, esi
jne case.default.0x100086fb
mov esi, dword [esp + 0x74]
mov ecx, esi
call fcn.100078c0
test al, al
jne case.default.0x100086fb
mov ecx, esi
call fcn.100078f0
test al, al
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007d40
test al, al
je 0x1000a75f
mov ecx, esi
call fcn.10007d50
cmp eax, 1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf88
cmp edi, 0xb
jne 0x1000a7c7
mov ecx, esi
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
mov ecx, dword [esp + 0x30]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10007fa0
add eax, esi
lea ecx, [esp + 0x68]
push eax
call fcn.10007de0
mov ecx, dword [esp + 0xc]
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000edc0
jmp 0x100088f9
cmp edi, 9
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
cmp eax, 2
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
dec eax
lea ecx, [esp + 0x68]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10007d90
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000edc0
jmp case.0x100086fb.1
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
cmp eax, 2
jne case.default.0x100086fb
lea edx, [edi - 0xb]
mov ecx, esi
call fcn.10007e70
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007840
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1000b146
xor ecx, ecx
mov edi, esi
cmp eax, 1
setne cl
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007d90
push dword [esp + 0x2c]
lea ecx, [esp + 0x6c]
call fcn.1000edc0
jmp 0x10008822
cmp edi, 1
jne 0x1000a932
mov ecx, ebx
call fcn.10007cd0
test al, al
je 0x1000a9eb
mov ecx, ebx
call fcn.10007850
cmp eax, 7
jae 0x1000a9dc
push dword [eax*4 + 0x100bb9d8]
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, dword [esp + 0x68]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100bb990]
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
mov edx, dword [esp + 0x68]
or edx, dword [esp + 0x14]
shr edx, 0x18
cmp edx, 0x80
ja 0x1000c05a
mov eax, dword [esp + 0x70]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
test edx, edx
setne al
add dword [esp + 0x70], eax
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.10007ff0
push dword [esp + 0x24]
lea ecx, [esp + 0x74]
push dword [esp + 0x20]
push dword [esp + 0x20]
call fcn.100080f0
jmp case.0x100086fb.0
cmp edi, 3
jne 0x1000aa2f
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, edx
mov edi, eax
mov al, 4
mov dword [esp + 0x18], edi
push ecx
push edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], al
call fcn.1000ec30
add esp, 8
test al, al
je 0x1000a989
mov ecx, dword [esp + 0x20]
test byte [esp + 0x14], 0x80
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp cl, 1
sete al
lea eax, [eax*2 + 0x68]
push eax
jmp 0x1000a8b0
cmp edi, 1
jne 0x1000aa2f
mov ecx, ebx
call fcn.10007cd0
test al, al
je 0x1000a9eb
mov ecx, ebx
call fcn.10007850
cmp eax, 2
je 0x1000a9dc
cmp eax, 7
jae 0x1000a9dc
push dword [eax*4 + 0x100bbec0]
lea ecx, [esp + 0x6c]
call fcn.10007de0
jmp case.0x100086fb.0
mov ecx, 0x31
call fcn.10007760
jmp 0x100087a7
mov ecx, ebx
call fcn.10007840
cmp eax, 2
jb case.default.0x100086fb
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000edc0
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000b29b
cmp edi, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
test eax, eax
je 0x1000b146
mov ecx, ebx
call fcn.10007840
cmp eax, edi
je 0x100089c5
mov ecx, dword [esp + 0x38]
call fcn.10007a50
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jmp 0x100089bf
test edi, edi
jne 0x1000aa83
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp case.0x100086fb.1
cmp edi, 3
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov edi, eax
mov eax, edx
mov dword [esp + 0x18], edi
or edi, eax
mov dword [esp + 0x1c], eax
jne 0x1000aac1
test byte [esp + 0x14], 0x80
jne 0x1000aac1
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp case.0x100086fb.1
mov eax, 2
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp case.0x100086fb.1
mov ecx, ebx
call fcn.100077f0
mov ecx, ebx
test al, al
je 0x1000abb3
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, 1
jne 0x1000ab33
cmp dword [ebx], 0x1000019
je 0x1000ab25
cmp dword [esp + 0x60], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
jmp 0x1000ab2f
add dword [esp + 0x60], 4
mov eax, 0x80000000
or dword [esp + 0x14], eax
cmp edi, 9
jne 0x1000ab58
mov ecx, esi
call fcn.10007850
cmp eax, 1
jne case.default.0x100086fb
push 2
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bede
cmp edi, 0x19
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007970
movzx eax, al
xor cl, cl
xor edx, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], cl
cmp eax, 1
jne 0x1000ab96
test byte [esp + 0x14], 0x80
je 0x1000bede
push 0x10
lea ecx, [esp + 0x6c]
call fcn.10007df0
mov eax, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bede
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
cmp edi, 0xa
jne 0x1000abe9
mov ecx, esi
call fcn.10007850
cmp eax, 1
jne case.default.0x100086fb
push 2
lea ecx, [esp + 0x6c]
call fcn.10007d90
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0x1a
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
test eax, eax
je 0x1000b146
mov edi, ebx
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007760
mov ecx, eax
call fcn.10007970
movzx eax, al
xor cl, cl
xor edx, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], cl
cmp eax, 1
jne 0x1000ac3c
test byte [esp + 0x14], 0x80
je 0x1000bf8c
push 0x10
lea ecx, [esp + 0x6c]
call fcn.10007df0
mov eax, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bf8c
cmp edi, 1
jne case.0x100086fb.13
mov ecx, ebx
call fcn.10007850
cmp dword [ebx], 0x1000019
mov dword [esp + 0x60], eax
je 0x1000ac8d
cmp eax, 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x14], eax
jmp 0x1000bede
add eax, 4
mov dword [esp + 0x60], eax
mov eax, 0x80000000
or dword [esp + 0x14], eax
jmp 0x1000bede
cmp edi, 0xc9
jne 0x1000acf8
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, esi
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x60], eax
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bede
cmp edi, 0xca
jne 0x1000ad49
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, esi
call fcn.10007850
mov ecx, dword [esp + 0x28]
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bf8c
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
cmp edi, 0x49
jne 0x1000ad72
mov ecx, dword [esp + 0x28]
call fcn.10007850
cmp eax, 1
jne case.default.0x100086fb
mov ecx, ebx
jmp 0x10008ffe
cmp edi, 0x4a
jne case.default.0x100086fb
mov ecx, dword [esp + 0x28]
call fcn.10007850
cmp eax, 1
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ed80
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x6c], eax
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, esi
mov edi, esi
call fcn.10007760
mov ecx, eax
call fcn.10007930
test eax, eax
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007760
xor edx, edx
mov ecx, eax
call fcn.10007880
test al, al
je case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
mov ecx, esi
mov dword [esp + 0x74], eax
call fcn.10007830
test al, al
je 0x1000ae21
mov ecx, esi
call fcn.10007840
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jne 0x1000b1fe
push ecx
lea ecx, [esp + 0x6c]
call fcn.1000eda0
jmp 0x10008822
mov ecx, dword [esp + 0x74]
push ecx
lea ecx, [esp + 0x6c]
call fcn.1000eda0
jmp 0x10008822
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, ebx
mov edi, ebx
call fcn.10007760
mov ecx, eax
call fcn.10007930
test eax, eax
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007760
xor edx, edx
mov ecx, eax
call fcn.10007880
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007830
test al, al
je 0x1000ae90
mov ecx, ebx
call fcn.10007840
cmp eax, esi
jne 0x1000b1fe
push esi
lea ecx, [esp + 0x6c]
call fcn.1000eda0
jmp 0x10008822
cmp edi, 0x12
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.100078e0
mov ecx, ebx
mov esi, eax
call fcn.10007760
mov ecx, eax
call fcn.100078e0
cmp eax, esi
jne case.default.0x100086fb
mov esi, dword [esp + 0xc]
mov ecx, ebx
mov edi, esi
call fcn.10007760
mov ecx, eax
call fcn.100078f0
test al, al
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
mov esi, eax
test esi, esi
je 0x1000b146
jmp 0x1000ae81
cmp edi, 9
jne 0x1000afbd
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
jne 0x1000b1fe
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov esi, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007840
cmp eax, 1
jne 0x1000bede
cmp dword [ebx], 0x1000019
je 0x1000af76
cmp dword [esp + 0x60], 4
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x40000000
jmp 0x1000af80
add dword [esp + 0x60], 4
mov ecx, 0x80000000
or ecx, dword [esp + 0x14]
cmp dword [esi], 0x1000019
je 0x1000afa8
cmp dword [esp + 0x6c], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, ecx
mov dword [esp + 0x14], eax
jmp 0x1000bede
add dword [esp + 0x6c], 4
mov eax, 0x80000000
or eax, ecx
mov dword [esp + 0x14], eax
jmp 0x1000bede
cmp edi, 0xa
jne 0x1000afff
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007840
cmp eax, 1
jne 0x1000bf8c
cmp dword [esi], 0x1000019
jmp 0x10008c46
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
lea ecx, [esp + 0x68]
call fcn.10007db0
mov dword [esp + 0x6c], eax
cmp edi, 0x19
jne 0x1000b132
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007840
cmp eax, 1
jne 0x1000b0ab
mov ecx, ebx
call fcn.10007c70
test al, al
jne 0x1000b06e
cmp dword [esp + 0x60], 4
sbb edi, edi
and edi, 0xc0000000
add edi, 0x40000000
jmp 0x1000b078
add dword [esp + 0x60], 4
mov edi, 0x80000000
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007940
movzx eax, al
mov ecx, 1
cdq
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
or eax, edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], cl
mov dword [esp + 0x14], eax
jmp 0x1000b0ed
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], 4
call fcn.10007840
lea edx, [esp + 0x2c]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
call fcn.1000ecd0
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x60], 0
jne 0x1000bede
test al, al
js 0x1000bede
push 0x8200000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov ecx, ebx
call fcn.10007840
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007e10
jmp case.0x100086fb.1
cmp edi, 0x1a
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
test eax, eax
jne 0x1000b155
mov ecx, 0x34
call fcn.10007760
jmp 0x100087a7
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov edi, ebx
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov ecx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], 4
call fcn.10007840
lea edx, [esp + 0x2c]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
call fcn.1000ecd0
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bf8c
cmp edi, 0x11
je 0x10008c0e
cmp edi, 9
jne 0x1000b300
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000eda0
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x60], eax
mov ecx, edi
call fcn.10007850
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
cmp eax, esi
je 0x1000b208
mov eax, 0x35
jmp 0x100087a7
mov ecx, ebx
call fcn.10007840
cmp eax, 1
jne 0x1000b257
cmp dword [ebx], 0x1000019
je 0x1000b23e
cmp dword [esp + 0x60], 4
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x40000000
or ecx, dword [esp + 0x14]
cmp dword [edi], 0x1000019
jmp 0x1000af8a
add dword [esp + 0x60], 4
mov ecx, 0x80000000
or ecx, dword [esp + 0x14]
cmp dword [edi], 0x1000019
jmp 0x1000af8a
cmp dword [esp + 0x4c], 0x5cb
jne 0x1000bede
cmp dword [esp + 0x6c], 0
je 0x1000b277
cmp dword [esp + 0x60], 0
jne 0x1000bede
push 0x8200000
lea ecx, [esp + 0x6c]
call fcn.10007e00
push 0x90
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov eax, dword [esp + 0x60]
add dword [esp + 0x6c], eax
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.10007fb0
push dword [esp + 0x14]
lea ecx, [esp + 0x6c]
call fcn.10007dc0
mov ecx, dword [esp + 0x6c]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10007f90
test al, al
jne 0x1000c05a
and esi, 0x7f
lea ecx, [esp + 0x70]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.1000ece0
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x68]
and eax, 7
push eax
mov dword [esp + 0x70], eax
call fcn.10007d90
jmp 0x1000a90b
cmp edi, 0xa
jne case.default.0x100086fb
jmp 0x1000afc2
cmp edi, 9
jne 0x1000b35c
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
test dword [esp + 0x14], 0x800
mov dword [esp + 0x60], eax
je 0x1000bede
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
lea edx, [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.1000ecb0
jmp 0x1000bede
cmp edi, 0x11
jne 0x1000b371
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov edi, ebx
mov ecx, esi
mov dword [esp + 0x10], edi
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf8c
cmp edi, 9
jne 0x1000b445
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1000b46a
test ecx, ecx
jne case.default.0x100086fb
push 0xff
lea ecx, [esp + 0x6c]
mov dword [esp + 0x64], eax
call fcn.10007e20
mov ecx, dword [esp + 0x60]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, dword [esp + 0x68]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100bb990]
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x68]
inc eax
mov dword [esp + 0x70], eax
mov byte [eax], cl
inc dword [esp + 0x70]
jmp case.0x100086fb.0
cmp edi, 2
je 0x1000b48d
jmp case.default.0x100086fb
test edi, edi
jne 0x1000b458
lea ecx, [edi + 1]
jmp 0x1000b466
cmp edi, 1
jne 0x1000b484
mov ecx, ebx
call fcn.10007850
mov ecx, eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x68]
shr eax, 0xa
movzx eax, al
add eax, 0x36000
add eax, ecx
mov dword [esp + 0x68], eax
jmp case.0x100086fb.59
cmp edi, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
xor ecx, ecx
cmp eax, 4
setne cl
lea ecx, [ecx*4 + 0xd8]
push ecx
lea ecx, [esp + 0x6c]
call fcn.10007de0
push 0xffff1fff
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov edi, ebx
jmp 0x1000bf88
cmp edi, 2
jne 0x1000b56a
mov edi, ebx
mov ecx, ebx
mov dword [esp + 0x10], edi
call fcn.10007840
mov esi, dword [esp + 0x78]
cmp eax, 4
jne 0x1000b4f5
push 0x400000
mov ecx, esi
call fcn.10007d80
test al, al
jne 0x1000bf8c
mov ecx, ebx
call fcn.10007840
cmp eax, 8
jne 0x1000b521
push 0x800000
mov ecx, esi
call fcn.10007d80
test al, al
je 0x1000b521
push 4
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bf8c
mov ecx, ebx
call fcn.10007840
cmp eax, 0xa
jne case.default.0x100086fb
push 0x200000
mov ecx, esi
call fcn.10007d80
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
lea ecx, [esp + 0x68]
call fcn.10007db0
mov dword [esp + 0x6c], eax
jmp 0x1000bf8c
cmp edi, 1
jne case.default.0x100086fb
mov edx, dword [esp + 0x4c]
cmp edx, 0xca
jne 0x1000b590
mov ecx, ebx
call fcn.10007850
add eax, 0x364c0
jmp 0x1000b3f4
cmp edx, 0xe8
jne 0x1000b5a9
mov ecx, ebx
call fcn.10007850
add eax, 0x374d0
jmp 0x1000b3f4
cmp edx, 0xeb
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
add eax, 0x374d8
jmp 0x1000b3f4
cmp edi, 2
jne case.default.0x100086fb
push 0xffff1fff
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov edi, ebx
mov ecx, ebx
mov dword [esp + 0x10], edi
call fcn.10007840
mov esi, dword [esp + 0x78]
cmp eax, 2
jne 0x1000b613
push 0x200000
mov ecx, esi
call fcn.10007d80
test al, al
je 0x1000b613
push 4
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000bf8c
mov ecx, ebx
call fcn.10007840
cmp eax, 4
jne 0x1000b633
push 0x400000
mov ecx, esi
call fcn.10007d80
test al, al
jne 0x1000bf8c
mov ecx, ebx
call fcn.10007840
cmp eax, 8
jne case.default.0x100086fb
push 0x800000
mov ecx, esi
call fcn.10007d80
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
and eax, 0xffff1fff
lea ecx, [esp + 0x68]
push eax
call fcn.10007de0
lea ecx, [esp + 0x68]
call fcn.10007db0
mov dword [esp + 0x6c], eax
jmp 0x1000bf8c
test edi, edi
jne case.0x100086fb.64
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp case.0x100086fb.59
cmp edi, 1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
push eax
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp case.0x100086fb.59
cmp edi, 1
jne 0x1000b6d6
mov ecx, ebx
call fcn.10007850
test eax, eax
jne case.default.0x100086fb
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
jmp 0x1000b3f4
cmp edi, 2
jne case.default.0x100086fb
push 0xffff1fff
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0xc9
jne 0x1000b72f
mov ecx, esi
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
jmp 0x1000943c
cmp edi, 0xca
jne case.default.0x100086fb
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, esi
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov ecx, esi
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007850
mov dword [esp + 0x6c], eax
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0xc9
jne 0x1000b7e4
mov ecx, esi
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov ecx, esi
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007850
mov dword [esp + 0x6c], eax
mov ecx, ebx
jmp 0x1000bed5
cmp edi, 0xca
jne case.default.0x100086fb
jmp 0x1000b74c
cmp edi, 9
jne 0x1000b84d
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
test dword [esp + 0x14], 0x800
mov dword [esp + 0x60], eax
je 0x1000bede
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 7], 0
je 0x1000bede
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
lea edx, [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.1000ecb0
jmp 0x1000bede
cmp edi, 0x11
jne 0x1000b862
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x6c], eax
mov edi, ebx
jmp 0x1000bf88
cmp edi, 0x11
jne 0x1000b8a8
mov ecx, ebx
call fcn.10007840
cmp eax, 1
je case.default.0x100086fb
jmp 0x10009fd3
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
cmp eax, 1
je case.default.0x100086fb
jmp 0x1000ad8d
cmp edi, 9
jne 0x1000b989
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007cc0
test al, al
je 0x1000b945
mov ecx, esi
call fcn.10007cc0
test al, al
je 0x1000b945
push 0x16f
lea ecx, [esp + 0x6c]
call fcn.10007de0
test dword [esp + 0x14], 0x800
je 0x1000bede
push 0x10
lea ecx, [esp + 0x6c]
call fcn.10007d90
lea edx, [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.1000ecb0
jmp 0x1000bede
mov ecx, ebx
call fcn.10007ca0
test al, al
je 0x1000ba31
mov ecx, esi
call fcn.10007ca0
test al, al
je 0x1000ba31
push 0x40017e
lea ecx, [esp + 0x6c]
call fcn.10007de0
test dword [esp + 0x14], 0x800
je 0x1000bede
push 0x2001d6
jmp 0x1000b341
cmp edi, 0x11
jne 0x1000b9dd
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], esi
call fcn.10007cc0
test al, al
je 0x1000b9bd
push 0x16f
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov edi, esi
jmp 0x1000bf8c
mov ecx, ebx
call fcn.10007ca0
test al, al
je 0x1000ba31
push 0x40017e
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov edi, esi
jmp 0x1000bf8c
cmp edi, 0xa
jne 0x1000ba31
mov ecx, esi
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], ebx
call fcn.10007cc0
test al, al
je 0x1000ba11
push 0x17f
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov edi, ebx
jmp 0x1000bf8c
mov ecx, esi
call fcn.10007ca0
test al, al
je 0x1000ba31
push 0x2001d6
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov edi, ebx
jmp 0x1000bf8c
push 0x8000000
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov eax, dword [ebx + 4]
mov ecx, 0x200000
mov dword [esp + 0x6c], eax
xor eax, eax
cmp dword [ebx], 0x10000149
cmove eax, ecx
or dword [esp + 0x68], eax
cmp edi, 9
jne 0x1000ba73
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.10007870
test al, al
je 0x1000ba80
jmp 0x1000bed3
cmp edi, 0x11
je 0x1000bf86
mov esi, dword [esp + 0xc]
push 0x8000000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, esi
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
cmp edi, 9
jne 0x1000badb
mov ecx, ebx
call fcn.10007870
test al, al
je case.default.0x100086fb
mov ecx, ebx
jmp 0x1000bed5
cmp edi, 0xa
jne case.default.0x100086fb
mov edi, ebx
mov dword [esp + 0x10], edi
jmp 0x1000bf94
mov ecx, dword [esp + 0x28]
call fcn.100077e0
test al, al
jne 0x1000bb0f
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.10007d20
test al, al
je case.default.0x100086fb
and edi, 0x3f
jmp case.0x100086fb.67
mov ecx, dword [esp + 0x28]
call fcn.100077e0
test al, al
jne 0x1000bb0f
mov ecx, dword [esp + 0x28]
mov edx, 7
call fcn.10007e70
test al, al
je case.default.0x100086fb
and edi, 0x3f
jmp case.0x100086fb.67
mov ecx, ebx
call fcn.10007c80
test al, al
jne 0x1000bb57
mov ecx, esi
call fcn.10007840
cmp eax, 8
je 0x1000bb57
xor al, al
jmp 0x1000bb59
mov al, 1
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ee30
cmp edi, 9
jne 0x10008a13
mov eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 4]
jmp 0x1000beda
cmp edi, 9
jne 0x1000bbb4
mov ecx, esi
call fcn.10007ca0
mov ecx, ebx
movzx esi, al
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
or eax, esi
push eax
call fcn.1000ee70
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
jmp 0x1000bed5
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
cmp edi, 9
je 0x10009444
cmp edi, 0x11
je 0x10009fe4
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
lea ecx, [esp + 0x68]
call fcn.10007db0
mov dword [esp + 0x6c], eax
cmp edi, 0x19
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov ecx, ebx
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bed5
cmp edi, 9
jne 0x1000bc7a
mov ecx, esi
call fcn.10007ca0
mov ecx, ebx
movzx esi, al
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
or eax, esi
push eax
call fcn.1000ee70
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
jmp 0x1000bed5
cmp edi, 0x11
je 0x1000bbbd
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
lea ecx, [esp + 0x68]
call fcn.10007db0
mov dword [esp + 0x6c], eax
cmp edi, 0x19
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
jmp 0x1000bc1a
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edi, 0xc9
je 0x10009444
cmp edi, 0xd1
jmp 0x10008a16
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edi, 0xc9
jne 0x1000bd5a
mov ecx, esi
call fcn.10007ca0
mov ecx, ebx
movzx esi, al
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
or eax, esi
push eax
call fcn.1000ee70
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
jmp 0x1000bed5
cmp edi, 0xd1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007ca0
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee50
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000bf86
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x60], eax
cmp edi, 9
je 0x1000bede
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp edi, 0xd9
jne case.default.0x100086fb
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007960
mov ecx, dword [esp + 0xc]
mov esi, eax
shl esi, 8
call fcn.10007760
mov ecx, eax
call fcn.10007960
add eax, esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x68]
mov al, 2
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
call fcn.10007db0
jmp 0x1000beda
mov ecx, dword [esp + 0x40]
call fcn.100077d0
mov esi, eax
mov ecx, ebx
shl esi, 9
add esi, edi
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
cmp esi, 9
je 0x1000bede
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp esi, 0x6c9
jne case.default.0x100086fb
mov ecx, dword [esp + 0x40]
call fcn.10007760
mov ecx, eax
call fcn.10007960
mov ecx, dword [esp + 0x28]
mov esi, eax
shl esi, 8
call fcn.10007760
mov ecx, eax
call fcn.10007960
add eax, esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
mov al, 2
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
jmp 0x1000bede
movzx eax, al
mov ecx, ebx
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov dword [esp + 0x68], 0x10f
call fcn.10007850
mov dword [esp + 0x6c], eax
cmp edi, 9
jne 0x1000bf7d
mov ecx, esi
call fcn.10007850
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x68]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100bb990]
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
mov edx, dword [esp + 0x68]
or edx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
shr edx, 0x15
and eax, 8
or edx, dword [esp + 0x60]
shr edx, 2
or edx, eax
shr edx, 1
cmp edx, 0x80
ja 0x1000c05a
mov eax, dword [esp + 0x70]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0x68]
test edx, edx
lea ecx, [esp + 0x74]
setne al
and dword [esp + 0x70], 7
add dword [esp + 0x74], eax
and dword [esp + 0x64], 7
call fcn.10007ff0
push dword [esp + 0x60]
mov edx, dword [esp + 0x70]
mov ecx, 3
call fcn.10007ed0
mov ecx, dword [esp + 0x74]
add esp, 4
mov byte [ecx], al
inc dword [esp + 0x70]
jmp 0x1000a918
cmp edi, 0x11
jne case.default.0x100086fb
mov edi, esi
mov dword [esp + 0x10], edi
test edi, edi
je 0x1000e4ce
mov ecx, edi
call fcn.100077d0
cmp eax, 2
jne 0x1000e4ba
test dword [esp + 0x68], 0xe000
jne 0x1000e4a6
mov ecx, edi
call fcn.100078e0
mov ecx, edi
movzx eax, byte [eax + 0x100bb9f8]
mov dword [esp + 0x30], eax
call fcn.10007d50
push eax
lea ecx, [esp + 0x74]
call fcn.10008050
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x70]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
test dword [eax + 0x2c], esi
setne al
movzx eax, al
push eax
push 0x67
call fcn.1000ece0
mov ecx, dword [esp + 0x68]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100bb990]
lea ecx, [esp + 0x74]
push eax
call fcn.1000ece0
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov eax, edx
mov dword [esp + 0x60], ecx
and eax, 8
shr ecx, 1
and ecx, 4
mov dword [esp + 0x7c], edx
or ecx, eax
mov eax, dword [esp + 0x6c]
shr ecx, 1
and eax, 8
or ecx, eax
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x14]
shr ecx, 1
and ecx, esi
shr eax, 0x18
or ecx, eax
cmp ecx, 0x80
jbe 0x1000c064
mov eax, 0x25
jmp 0x100087a7
and ecx, 0x7f
setne al
or ecx, 0x40
movzx eax, al
push eax
push ecx
lea ecx, [esp + 0x78]
call fcn.1000ece0
push dword [esp + 0x68]
and dword [esp + 0x70], 7
lea ecx, [esp + 0x74]
call fcn.10007ff0
jmp 0x1000d934
push 0x8000000
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
jne 0x1000e4e2
push 0x60000000
lea ecx, [esp + 0x6c]
call fcn.10007e20
mov esi, eax
lea ecx, [esp + 0x68]
push 0x600000
shr esi, 6
call fcn.10007e20
mov edi, eax
lea ecx, [esp + 0x68]
or edi, esi
push 0x1f00
shr edi, 5
call fcn.10007e20
mov ecx, dword [esp + 0x14]
and ecx, 0x400
or eax, ecx
or eax, edi
shr eax, 8
mov dword [esp + 0x74], eax
test al, 4
je 0x1000c11c
push 0x18
lea ecx, [esp + 0x6c]
call fcn.10007e30
mov ecx, dword [esp + 0x74]
or eax, 0x78e0c4
and ecx, 0xfffb
shl ecx, 8
xor eax, ecx
push eax
jmp 0x10009dcc
push 0xc5
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x70]
xor eax, 0xf900
shr eax, 8
xor eax, dword [esp + 0x74]
push eax
call fcn.1000ed20
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp case.0x100086fb.0
cmp edi, 9
jne 0x1000c1e7
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.10007870
test al, al
je 0x1000c198
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
jmp 0x1000d42b
mov ecx, ebx
call fcn.10007870
test al, al
je 0x1000c1bc
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
inc eax
lea ecx, [esp + 0x68]
push eax
call fcn.10007de0
jmp 0x1000d42b
test dword [esp + 0x14], 0x800
je 0x1000d42b
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
lea edx, [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.1000ecb0
jmp 0x1000d42b
cmp edi, 0x11
jne 0x1000c202
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0xa
jne case.default.0x100086fb
push 1
lea ecx, [esp + 0x6c]
call fcn.10007d90
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10007760
mov ecx, eax
call fcn.10007c80
movzx eax, al
lea ecx, [esp + 0x68]
push eax
call fcn.1000ee30
jmp 0x1000d42b
cmp edi, 2
jne case.default.0x100086fb
mov edi, ebx
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 2
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007eb0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov edi, ebx
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 9
jne 0x1000cb7f
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007840
mov ecx, eax
call fcn.10007ec0
mov ecx, ebx
mov dword [esp + 0x2c], eax
call fcn.10007eb0
lea edx, [esp + 0x2c]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
call fcn.1000ecc0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edi, 0xc9
je 0x1000c2c5
cmp edi, 0xca
jmp 0x1000cb82
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.100077e0
test al, al
jne 0x1000c3ae
mov edx, 7
mov ecx, esi
call fcn.10007e70
test al, al
je case.default.0x100086fb
and edi, 0x3f
jmp case.0x100086fb.94
mov ecx, esi
call fcn.10007c80
mov ecx, ebx
movzx esi, al
call fcn.10007c80
movzx eax, al
lea ecx, [esp + 0x68]
or eax, esi
push eax
call fcn.1000ee90
jmp case.0x100086fb.94
cmp edi, 9
jne case.0x100086fb.97
mov ecx, esi
call fcn.10007760
mov ecx, eax
call fcn.10007870
test al, al
je case.0x100086fb.97
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
mov ecx, dword [esp + 0x30]
mov esi, eax
call fcn.10007fa0
or esi, eax
lea ecx, [esp + 0x68]
push esi
call fcn.10007de0
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
mov ecx, ebx
call fcn.10007840
mov ecx, dword [esp + 0xc]
mov esi, eax
call fcn.10007840
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x100bbe00]
or dword [esp + 0x68], eax
cmp edi, 9
jne 0x1000c47d
mov eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x11
jne case.default.0x100086fb
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007840
mov ecx, eax
call fcn.10007ec0
mov edi, esi
mov dword [esp + 0x2c], eax
mov ecx, edi
call fcn.10007eb0
lea edx, [esp + 0x2c]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
call fcn.1000ecc0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, dword [esp + 0x14]
test cl, 2
je case.default.0x100086fb
mov ecx, ebx
call fcn.10007cb0
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007cb0
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x28]
call fcn.10007cb0
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x40]
call fcn.10007cb0
test al, al
je case.default.0x100086fb
mov edi, dword [esp + 0x38]
lea eax, [edi + 0x58]
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.10007cb0
test al, al
je case.default.0x100086fb
add edi, 0x68
mov ecx, edi
mov dword [esp + 0x10], edi
call fcn.10007800
test al, al
je case.default.0x100086fb
mov ecx, esi
call fcn.10007850
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x74], eax
call fcn.10007850
mov ecx, dword [esp + 0x40]
mov esi, eax
call fcn.10007850
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
call fcn.10007850
mov edx, eax
mov eax, dword [esp + 0x74]
test al, 3
jne 0x1000c5c7
lea ecx, [eax + 1]
cmp esi, ecx
jne 0x1000c5c7
lea ecx, [eax + 2]
cmp dword [esp + 0x44], ecx
jne 0x1000c5c7
add eax, 3
cmp edx, eax
jne 0x1000c5c7
mov ecx, ebx
call fcn.10007850
mov dword [esp + 0x6c], eax
jmp 0x1000d664
mov ecx, 0x3c
call fcn.10007760
jmp 0x100087a7
mov ecx, esi
call fcn.10007c80
mov ecx, ebx
movzx esi, al
call fcn.10007c80
movzx eax, al
lea ecx, [esp + 0x68]
or eax, esi
push eax
call fcn.1000ee90
jmp case.0x100086fb.101
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x1c], ecx
mov cl, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], cl
cmp edi, 0xc9
jne 0x1000c656
mov eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0xd1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.100077e0
test al, al
jne case.0x100086fb.105
mov edx, 2
mov ecx, esi
call fcn.10007880
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x28]
mov esi, dword [ebx]
call fcn.10007840
xor ecx, ecx
mov edx, 0x8000000
cmp eax, 8
cmove ecx, edx
xor eax, eax
cmp esi, 0x8000031
cmove eax, edx
or ecx, eax
or dword [esp + 0x68], ecx
jmp case.0x100086fb.104
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 0x49
je 0x1000d34c
cmp edi, 0x89
jne case.default.0x100086fb
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.100077d0
mov ecx, dword [esi + 4]
mov edx, eax
shl edx, 9
mov al, 1
add edx, edi
shl ecx, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edx, 0x249
jne 0x1000c7b6
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edx, 0x289
jmp 0x1000c6fa
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, dword [esp + 0x40]
call fcn.100077d0
mov esi, eax
mov eax, dword [esp + 0x40]
shl esi, 9
add esi, edi
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp esi, 0x649
je 0x1000c785
cmp esi, 0x689
jmp 0x1000c6fa
mov ecx, dword [esp + 0x28]
call fcn.10007c80
mov ecx, ebx
movzx esi, al
call fcn.10007c80
movzx eax, al
lea ecx, [esp + 0x68]
or eax, esi
push eax
call fcn.1000ee90
cmp edi, 0x49
jne 0x1000c87f
mov ecx, dword [esp + 0x28]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x51
jne case.default.0x100086fb
mov ecx, dword [esp + 0x28]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0x11
jne case.0x100086fb.114
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
jmp 0x1000c4a3
cmp edi, 0x51
jne case.default.0x100086fb
mov ecx, dword [esp + 0x28]
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
mov edi, dword [esp + 0xc]
mov ecx, edi
mov dword [esp + 0x2c], eax
call fcn.10007eb0
lea edx, [esp + 0x2c]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x74]
call fcn.1000ecc0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, dword [esp + 0x28]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, dword [esp + 0x40]
call fcn.100077d0
mov ecx, dword [esp + 0x40]
mov esi, eax
shl esi, 9
add esi, edi
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp esi, 0x649
je 0x1000c84e
cmp esi, 0x651
jmp 0x1000c882
cmp edi, 9
jne 0x1000ca51
mov ecx, ebx
call fcn.10007870
test al, al
je 0x1000c9cd
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, ebx
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ede0
mov ecx, esi
jmp 0x1000c2c9
mov ecx, esi
call fcn.10007870
test al, al
je 0x1000ca04
mov ecx, esi
call fcn.10007840
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ede0
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
push 0x10000000
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
je 0x1000ca9a
push 0xff9fe000
lea ecx, [esp + 0x6c]
call fcn.10007e00
push 0x40017e
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x11
jne 0x1000ca9e
push 0x10000000
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
je 0x1000ca84
push 0xff9fe000
lea ecx, [esp + 0x6c]
call fcn.10007e00
push 0x40017e
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov edx, dword [esp + 0x30]
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp edi, 0xa
jne case.default.0x100086fb
push 0x10000000
lea ecx, [esp + 0x6c]
call fcn.10007e20
test eax, eax
je 0x1000cae6
push 0xff9fe000
lea ecx, [esp + 0x6c]
call fcn.10007e00
push 0x2001d6
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 9
jne 0x1000cb41
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x11
jne 0x1000cb5e
mov ecx, ebx
call fcn.10007850
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
push 0x60000000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0x49
jne 0x1000cc19
mov edi, dword [esp + 0x28]
mov ecx, edi
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov esi, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
test dword [esp + 0x14], 0x800
mov dword [esp + 0x60], eax
je 0x1000d42b
lea ecx, [esp + 0x68]
call fcn.10007da0
mov ecx, esi
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x51
jne 0x1000cc4a
mov ecx, dword [esp + 0x28]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0x89
jne case.default.0x100086fb
lea ecx, [esp + 0x68]
call fcn.10007da0
mov ecx, esi
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 0x49
je 0x1000c785
cmp edi, 0x89
jne 0x1000ccc3
mov ecx, dword [esp + 0xc]
jmp 0x1000cc61
push 0x60000000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edi, 0xc9
jne 0x1000cd2b
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0xd1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0x49
je 0x1000cba5
cmp edi, 0x51
je 0x1000cc1e
cmp edi, 0x89
jne 0x1000cd9c
lea ecx, [esp + 0x68]
call fcn.10007da0
mov ecx, esi
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edi, 0xc9
jne 0x1000cdf2
mov ecx, ebx
call fcn.10007850
mov ecx, esi
mov dword [esp + 0x6c], eax
call fcn.10007850
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0xd1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0x49
jne 0x1000ce20
mov ecx, esi
jmp 0x1000c789
cmp edi, 0x89
jne 0x1000ce52
mov ecx, esi
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
cmp edi, 9
jne 0x1000ce6f
mov ecx, esi
jmp 0x1000c2c9
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 0x49
je 0x1000c785
cmp edi, 0x89
jne 0x1000cecb
mov ecx, dword [esp + 0xc]
jmp 0x1000cd74
push 0x60000000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 0x4a
jne case.default.0x100086fb
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or esi, eax
mov ecx, esi
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
cmp edi, 0x49
je 0x1000c785
cmp edi, 0x89
jne 0x1000cf5e
mov ecx, dword [esp + 0xc]
jmp 0x1000cd74
push 0x60000000
lea ecx, [esp + 0x6c]
call fcn.10007e00
mov ecx, dword [esp + 0x30]
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
lea ecx, [esp + 0x68]
call fcn.10007db0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
cmp edi, 0xc9
jne 0x1000cfc8
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0x6c]
mov edx, eax
jmp 0x1000c864
cmp edi, 0xd1
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0x6c]
mov edx, eax
call fcn.10007ea0
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
xor ecx, ecx
mov edx, 0x8000000
cmp dword [esi], 0x8000031
cmove ecx, edx
xor eax, eax
cmp dword [ebx], 0x8000031
cmove eax, edx
or ecx, eax
or ecx, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
cmp edi, 9
jne 0x1000d03b
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x11
jne case.default.0x100086fb
mov ecx, ebx
call fcn.10007850
mov ecx, dword [esp + 0x6c]
mov edx, eax
call fcn.10007ea0
mov edi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0xd1
jne case.0x100086fb.131
push 0x1000
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, ebx
call fcn.10007840
mov ecx, dword [esp + 0xc]
mov esi, eax
call fcn.10007840
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x100bbe00]
or dword [esp + 0x68], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x1c], ecx
jmp 0x1000d0f1
cmp dword [ebx], 0x8000031
je 0x1000d0cb
mov ecx, esi
call fcn.10007840
cmp eax, 8
je 0x1000d0cb
xor al, al
jmp 0x1000d0cd
mov al, 1
push eax
lea ecx, [esp + 0x6c]
call fcn.1000ee30
mov ecx, dword [esp + 0x28]
call fcn.10007760
mov ecx, eax
call fcn.10007970
mov dword [esp + 0x18], eax
mov al, 4
mov dword [esp + 0x1c], edx
mov byte [esp + 0x24], al
mov dword [esp + 0x20], eax
cmp edi, 0xc9
jne 0x1000cfc8
mov eax, dword [ebx + 4]
shl eax, 7
add dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
jmp 0x1000d42b
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x100bbe00]
or dword [esp + 0x68], eax
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.100077d0
shl eax, 9
add eax, edi
cmp eax, 0x249
jne 0x1000d18e
mov eax, dword [esp + 0xc]
mov ecx, 1
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], cl
mov eax, dword [eax + 4]
shl eax, 7
add eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 4]
shl eax, 4
mov dword [esp + 0x18], eax
jmp 0x1000d423
cmp eax, 0x449
jne 0x1000d610
lea ecx, [esp + 0x68]
call fcn.10007da0
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
jmp 0x1000d63e
mov ecx, dword [esp + 0x14]
test cl, 2
je case.default.0x100086fb
mov eax, dword [esp + 0x38]
add eax, 0x58
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.10007810
test al, al
je case.default.0x100086fb
mov ecx, dword [esp + 0x40]
call fcn.100077d0
mov ecx, dword [esp + 0x40]
shl eax, 9
add eax, edi
mov dword [esp + 0x74], eax
call fcn.10007840
mov ecx, dword [esp + 0x28]
mov edi, eax
call fcn.10007840
mov ecx, esi
or edi, eax
call fcn.10007840
mov esi, eax
mov ecx, ebx
or esi, edi
call fcn.10007840
or eax, esi
mov ecx, eax
call fcn.10007ec0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007e10
mov ecx, dword [esp + 0x2c]
call fcn.10007760
mov ecx, eax
call fcn.10007940
and al, 0xf
movzx eax, al
cdq
mov edi, eax
mov dword [esp + 0x1c], edx
mov al, 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x74]
cmp eax, 0x249
jne 0x1000d2b4
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
call fcn.10007850
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x60], eax
call fcn.10007850
shl eax, 4
or dword [esp + 0x18], eax
jmp 0x1000d42b
cmp eax, 0x449
jne 0x1000d300
lea ecx, [esp + 0x68]
call fcn.10007da0
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
call fcn.10007850
shl eax, 4
or dword [esp + 0x18], eax
jmp 0x1000d664
cmp eax, 0x289
jne case.default.0x100086fb
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
call fcn.10007850
shl eax, 4
or dword [esp + 0x18], eax
jmp 0x1000d664
cmp edi, 0x49
jne 0x1000d36d
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
shl eax, 7
add eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
jmp 0x1000d42b
cmp edi, 0x11
jne 0x1000d388
mov ecx, ebx
call fcn.10007850
mov edi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
cmp edi, 0xa
jne case.default.0x100086fb
mov ecx, edx
call fcn.10007fa0
push eax
lea ecx, [esp + 0x6c]
call fcn.10007de0
mov ecx, esi
call fcn.10007850
mov edi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10], edi
jmp 0x1000d664
mov ecx, esi
call fcn.10007840
mov ecx, ebx
mov esi, eax
call fcn.10007840
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x100bbe00]
or dword [esp + 0x68], eax
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.100077d0
shl eax, 9
add eax, edi
cmp eax, 0x249
jne 0x1000d18e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
shl eax, 7
add eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 4]
shl eax, 4
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], al
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x38]
mov esi, dword [eax + 0x3c]
mov eax, dword [esp + 0x6c]
and dword [esp + 0x6c], 7
and eax, 0xf98
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x60]
and eax, 0x18
shl esi, 2
or esi, eax
mov eax, dword [esp + 0x14]
and eax, 0x1400
shl esi, 2
or eax, dword [esp + 0x68]
shr eax, 8
and eax, 0x60001f
or esi, eax
mov eax, dword [esp + 0x14]
test eax, 0x8c0000
je 0x1000d4da
mov ecx, dword [esp + 0x14]
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x1000d4da
mov edx, dword [esp + 0x78]
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
je 0x1000d4a7
test dword [edx], 0x30000000
jne 0x1000d78f
mov eax, dword [edx]
test ecx, 0x40000
je 0x1000d4c9
shr eax, 0x1a
test al, 1
je 0x1000d78f
mov eax, esi
xor eax, ecx
and eax, 0x600000
xor esi, eax
jmp 0x1000d4d4
shr eax, 0x1b
test al, 1
je 0x1000d78f
or esi, 0x100000
mov edx, dword [esp + 0x68]
mov eax, edx
test esi, 0xd78150
je 0x1000d586
mov ecx, esi
shr eax, 1
and ecx, 0x8000
and edx, 0x8000000
shl ecx, 4
and eax, 0x8300000
or ecx, esi
or edx, eax
and ecx, 0xffff78e3
shr edx, 4
shl ecx, 4
and esi, 0x100
or ecx, esi
shl ecx, 4
or edx, ecx
mov ecx, dword [esp + 0x70]
xor edx, 0x87cf062
call fcn.1000ec10
mov eax, dword [esp + 0x70]
add eax, 4
mov cl, byte [esp + 0x68]
mov dword [esp + 0x70], eax
mov byte [eax], cl
inc dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mov ecx, 3
mov edx, dword [esp + 0x6c]
and eax, 7
push eax
mov dword [esp + 0x64], eax
call fcn.10007ed0
mov ecx, dword [esp + 0x74]
add esp, 4
push dword [esp + 0x24]
mov byte [ecx], al
lea ecx, [esp + 0x74]
push dword [esp + 0x20]
inc dword [esp + 0x78]
push dword [esp + 0x20]
call fcn.10008090
jmp case.0x100086fb.0
mov ecx, edx
and eax, 0x8000000
shr ecx, 1
and ecx, 0x300000
or ecx, eax
mov eax, esi
shr ecx, 1
and eax, 0x200000
or ecx, eax
shr ecx, 0xb
or ecx, esi
mov dword [esp + 0x2c], ecx
mov eax, ecx
test ecx, 0x8024
je 0x1000d5e0
and eax, 0xf
shl edx, 0x18
and ecx, 0xfffb
shl ecx, 8
or edx, dword [eax*4 + 0x100bb998]
xor edx, ecx
mov ecx, dword [esp + 0x70]
call fcn.1000ec10
add dword [esp + 0x70], 4
jmp 0x1000d545
and al, 0x1f
cmp al, 1
jne 0x1000e4f6
mov eax, dword [esp + 0x70]
shr ecx, 8
xor cl, byte [esp + 0x2c]
xor cl, 0xf9
mov byte [eax], 0xc5
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov byte [eax], cl
mov eax, dword [esp + 0x70]
inc eax
jmp 0x1000d537
cmp eax, 0x289
jne case.default.0x100086fb
mov ecx, dword [esp + 0xc]
call fcn.10007850
mov ecx, ebx
mov esi, eax
call fcn.10007850
mov edx, esi
mov ecx, eax
call fcn.10007ea0
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov dword [esp + 0x6c], eax
call fcn.10007850
shl eax, 4
mov dword [esp + 0x18], eax
mov al, 1
mov byte [esp + 0x24], al
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
test edi, edi
je 0x1000e46a
mov ecx, edi
call fcn.100077d0
cmp eax, 2
jne 0x1000e532
mov ecx, edi
call fcn.100078e0
mov ecx, edi
movzx eax, byte [eax + 0x100bb9f8]
mov dword [esp + 0x30], eax
call fcn.10007d50
push eax
lea ecx, [esp + 0x74]
call fcn.10008050
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x70]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
test dword [eax + 0x2c], esi
setne al
movzx eax, al
push eax
push 0x67
call fcn.1000ece0
mov esi, dword [edi]
mov eax, esi
and eax, 0xf8
cmp eax, 8
jbe 0x1000d6d7
mov eax, dword [edi + 4]
jmp 0x1000d6d9
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], eax
mov eax, esi
and eax, 0x1f00
cmp eax, 0x100
jbe 0x1000d6f4
mov edx, dword [edi + 8]
jmp 0x1000d6f6
xor edx, edx
mov eax, dword [esp + 0x38]
and esi, 0xe00000
mov ecx, dword [esp + 0x6c]
neg esi
mov dword [esp + 0x7c], edx
sbb esi, esi
and esi, 0x10
or esi, dword [eax + 0x3c]
mov eax, edx
and eax, 0x10
add esi, esi
or esi, eax
and edx, 8
shl esi, 0xb
mov eax, ecx
and eax, 0xf98
and ecx, 7
or esi, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x74]
add esi, esi
or esi, edx
and eax, 8
add esi, esi
mov ecx, 0x80000
or esi, eax
mov eax, dword [esp + 0x14]
and eax, 0x1400
shl esi, 2
or eax, dword [esp + 0x68]
shr eax, 8
and eax, 0x60001f
or esi, eax
call fcn.10007770
mov edx, dword [esp + 0x78]
mov ecx, 0x1f
sub ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [edx]
not edx
and edx, 0x80000
shl edx, cl
or esi, edx
test eax, 0x8c0000
je 0x1000d7a0
test eax, 0xc0000
je 0x1000d799
mov eax, 0x2a
jmp 0x100087a7
and eax, 0x800000
or esi, eax
mov eax, dword [esp + 0x68]
mov ecx, eax
test esi, 0x80df8110
je 0x1000d884
mov edx, esi
shr ecx, 1
and edx, 0x8000
and ecx, 0x8300000
shl edx, 4
and eax, 0x8000000
or edx, esi
or ecx, eax
and edx, 0xffff78e3
shr ecx, 4
shl edx, 4
and esi, 0x100
or edx, esi
shl edx, 4
or edx, ecx
mov ecx, dword [esp + 0x70]
xor edx, 0x87cf062
mov dword [esp + 0x74], edx
call fcn.1000ec10
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x68]
add eax, 4
mov esi, dword [esp + 0x74]
mov dword [esp + 0x70], eax
mov byte [eax], cl
lea ecx, [esp + 0x68]
inc dword [esp + 0x70]
test esi, 0x10000000
je 0x1000d847
push 0xffff1fff
call fcn.10007e00
and esi, 0x800000
lea ecx, [esp + 0x68]
or esi, 0x1000000
shr esi, 0xa
push esi
call fcn.10007e10
jmp 0x1000d923
push 0x19
call fcn.10007e40
mov esi, eax
lea ecx, [esp + 0x68]
push 0xd
and esi, 4
call fcn.10007e40
mov ecx, dword [esp + 0x74]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x100bb8c8]
lea ecx, [esp + 0x6c]
call fcn.10007d90
jmp 0x1000d923
mov edx, eax
and ecx, 0x8000000
shr edx, 1
and eax, 0xffff1fff
and edx, 0x300000
mov dword [esp + 0x68], eax
or edx, ecx
mov ecx, esi
shr edx, 1
and ecx, 0x200000
or edx, ecx
shr edx, 0xb
or esi, edx
test esi, 0x8064
je 0x1000d8e6
push 0x18
lea ecx, [esp + 0x6c]
call fcn.10007e30
mov ecx, esi
and esi, 0xfffb
and ecx, 0xf
shl esi, 8
or eax, dword [ecx*4 + 0x100bb998]
lea ecx, [esp + 0x70]
xor esi, eax
push esi
call fcn.1000ed30
jmp 0x1000d923
mov eax, esi
and al, 0x1f
cmp al, 1
jne 0x1000e51e
push 0xc5
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov eax, esi
lea ecx, [esp + 0x70]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.1000ed20
push dword [esp + 0x68]
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
shr eax, 0x12
test al, 1
jne 0x1000dfef
mov eax, dword [esp + 0x30]
test al, 0x42
jne 0x1000dece
test al, 1
je 0x1000daba
and dword [esp + 0x60], 7
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007930
push dword [esp + 0x60]
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov esi, eax
call fcn.10007ed0
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x60]
cmp eax, 4
jne 0x1000da43
test esi, esi
jne 0x1000d9aa
push edi
lea ecx, [esp + 0x74]
call fcn.1000ed20
push 4
lea edx, [esi + 4]
xor ecx, ecx
call fcn.10007f30
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
jmp 0x1000a918
push 0xe000
lea ecx, [esp + 0x6c]
call fcn.10007e20
mov ecx, eax
mov eax, esi
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x2c], ecx
mov ecx, eax
mov dword [esp + 0x74], eax
call fcn.1000eeb0
test al, al
je 0x1000da20
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
shl eax, cl
cmp esi, eax
jne 0x1000da20
lea eax, [edi + 0x40]
push eax
lea ecx, [esp + 0x74]
call fcn.1000ed20
push 4
mov edx, 4
xor ecx, ecx
call fcn.10007f30
add esp, 4
push eax
lea ecx, [esp + 0x74]
call fcn.1000ed20
mov ecx, dword [esp + 0x74]
movzx eax, cl
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
jmp 0x1000a918
lea eax, [edi + 0x80]
push eax
lea ecx, [esp + 0x74]
call fcn.1000ed20
push 4
mov edx, 4
xor ecx, ecx
call fcn.10007f30
add esp, 4
jmp 0x1000daa1
cmp eax, 5
je 0x1000da5b
test esi, esi
jne 0x1000da5b
push edi
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000a918
push 0xe000
lea ecx, [esp + 0x6c]
call fcn.10007e20
mov ecx, eax
mov eax, esi
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x2c], ecx
mov ecx, eax
mov dword [esp + 0x74], eax
call fcn.1000eeb0
test al, al
je 0x1000da9b
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
shl eax, cl
cmp esi, eax
jne 0x1000da9b
lea eax, [edi + 0x40]
jmp 0x1000da00
lea eax, [edi + 0x80]
push eax
lea ecx, [esp + 0x74]
call fcn.1000ed20
push esi
lea ecx, [esp + 0x74]
call fcn.1000ed30
jmp 0x1000a918
test al, 0x30
jne 0x1000ddfa
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.100078a0
mov ecx, edi
mov dword [esp + 0x74], eax
call fcn.10007760
mov ecx, eax
call fcn.10007930
mov esi, dword [esp + 0x38]
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.10007a20
test al, al
je 0x1000db12
cmp dword [esp + 0x74], 2
je 0x1000e45b
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 5
call fcn.10007ed0
jmp 0x1000dddb
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007850
mov ecx, dword [esp + 0x78]
sar ecx, 0x1f
cmp eax, ecx
mov ecx, edi
sete byte [esp + 0x37]
call fcn.10007760
mov ecx, eax
call fcn.10007850
test eax, eax
mov ecx, esi
sete byte [esp + 0x4b]
call fcn.10007a10
mov ecx, eax
call fcn.10007970
mov ecx, eax
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x1000dc18
and ecx, edx
cmp ecx, 0xffffffff
jne 0x1000dbda
mov al, byte [esp + 0x37]
test al, al
jne 0x1000ddb3
mov al, byte [esp + 0x4b]
test al, al
je 0x1000dc21
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx]
cmp al, 0x67
je 0x1000ddb3
cmp dword [esp + 0x4c], 0x176
jne 0x1000dda7
movzx eax, al
test al, 0x40
je 0x1000ddb3
and eax, 0xf7
mov byte [ecx], al
cmp eax, 0x40
jne 0x1000ddb3
test dword [esp + 0x14], 0x40000000
jne 0x1000ddb3
push ecx
lea ecx, [esp + 0x74]
call fcn.10007bf0
jmp 0x1000ddb3
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007d50
cmp eax, 5
setae cl
cmp dword [esp + 0x4c], 0x176
jne 0x1000dc0a
cmp byte [esp + 0x37], 0
jne 0x1000dc06
cmp byte [esp + 0x4b], 0
je 0x1000dc0a
mov al, 1
jmp 0x1000dc0c
xor al, al
test cl, cl
jne 0x1000dd84
test al, al
jmp 0x1000dc1b
cmp eax, 2
jne 0x1000dd84
push dword [esi + 0x4c]
lea ecx, [esp + 0x74]
call fcn.10007bc0
mov ecx, eax
mov eax, dword [esp + 0x20]
movzx eax, al
cdq
add ecx, eax
mov eax, 0
adc eax, edx
add ecx, 5
mov dword [esp + 0x74], ecx
adc eax, 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
and eax, dword [esp + 0x7c]
cmp eax, 0xffffffff
jne 0x1000dcfe
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x64]
push 4
push 4
push eax
call fcn.100100e0
test eax, eax
jne 0x100087a7
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 5
call fcn.10007ed0
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push 0
lea ecx, [esp + 0x74]
call fcn.1000ed30
mov ecx, dword [esi + 0x48]
call fcn.10007980
mov ecx, dword [esp + 0x64]
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.10007a70
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
lea ecx, [esp + 0x70]
push dword [esi + 0x54]
call fcn.10007bc0
mov ecx, dword [esp + 0x64]
sub al, 4
mov byte [ecx + 6], al
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
mov byte [eax + 7], cl
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007910
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
jmp 0x1000a918
mov ecx, dword [esi + 0x48]
call fcn.10007990
mov ecx, dword [esp + 0x10]
mov esi, eax
add esi, dword [esp + 0x74]
mov edi, edx
adc edi, dword [esp + 0x30]
add esi, dword [esp + 0x44]
adc edi, dword [esp + 0x7c]
call fcn.10007760
mov ecx, eax
call fcn.10007910
sub eax, esi
mov dword [esp + 0x74], eax
sbb edx, edi
push edx
push eax
call fcn.1000ec60
add esp, 8
test al, al
je 0x1000dd6c
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 5
call fcn.10007ed0
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push dword [esp + 0x74]
lea ecx, [esp + 0x74]
call fcn.1000ed30
jmp 0x1000a918
mov ecx, dword [esp + 0x10]
call fcn.10007760
mov ecx, eax
call fcn.100078b0
test al, al
jne 0x1000e45b
mov al, byte [esp + 0x37]
test al, al
jne 0x1000ddb3
mov al, byte [esp + 0x4b]
test al, al
jne 0x1000db86
mov ecx, 0x2e
call fcn.10007760
jmp 0x100087a7
push 0x67
push ecx
lea ecx, [esp + 0x78]
call fcn.1000eec0
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 4
call fcn.10007ed0
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push 5
mov edx, 4
xor ecx, ecx
call fcn.10007f30
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push dword [esp + 0x78]
lea ecx, [esp + 0x74]
call fcn.1000ed30
jmp 0x1000a918
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 5
call fcn.10007ed0
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
mov esi, dword [esp + 0x38]
mov ecx, esi
call fcn.10007a20
test al, al
jne 0x1000e1c9
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007930
test byte [esp + 0x30], 0x10
mov dword [esp + 0x2c], eax
je 0x1000deae
add esi, 0x10
mov ecx, edi
mov dword [esp + 0x78], esi
call fcn.10007760
mov ecx, eax
call fcn.10007850
mov ecx, dword [esi]
push eax
call fcn.100079d0
mov esi, eax
test esi, esi
je 0x1000e398
mov eax, dword [esp + 0x20]
mov ecx, 0xfffffffc
mov edi, dword [esp + 0x2c]
movzx eax, al
sub ecx, eax
mov eax, dword [esp + 0x38]
add eax, 0x48
add edi, ecx
mov ecx, esi
mov dword [esp + 0x30], eax
push dword [eax]
call fcn.100079a0
test al, al
je 0x1000debd
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x70]
push dword [eax + 0x4c]
call fcn.10007bc0
mov ecx, esi
sub edi, eax
call fcn.100079b0
add eax, edi
push eax
lea ecx, [esp + 0x74]
call fcn.1000ed30
jmp 0x1000a918
mov edx, dword [esp + 0x38]
mov byte [esp + 0x3f], 4
add edx, 0x4c
jmp 0x1000e2ec
test al, 0x40
jne 0x1000deec
mov esi, dword [esp + 0x7c]
cmp esi, 4
jne 0x1000dfff
lea ecx, [esi + 0x28]
call fcn.10007760
jmp 0x100087a7
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007930
movsx edx, ax
mov eax, dword [esp + 0x30]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x78], edx
mov dword [esp + 0x2c], ecx
je 0x1000dfc4
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x7c]
and ecx, 7
and esi, 7
mov dword [esp + 0x60], ecx
cmp dword [esp + 0x2c], 3
jne 0x1000df54
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007d60
test eax, eax
jne 0x1000e45b
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x78]
mov al, byte [esi + eax*8 + 0x100bbe40]
jmp 0x1000df64
test al, 2
je 0x1000df5e
mov dword [esp + 0x60], esi
mov ecx, esi
mov al, byte [ecx + 0x100bb948]
movzx ecx, al
cmp ecx, 0xff
je 0x1000e45b
mov eax, dword [esp + 0x6c]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x1000df92
cmp esi, 6
je 0x1000df92
push esi
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000a918
mov ecx, edx
call fcn.1000eeb0
lea ecx, [esp + 0x70]
test al, al
je 0x1000dfbc
lea eax, [esi + 0x40]
push eax
call fcn.1000ed20
push dword [esp + 0x78]
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000a918
lea eax, [esi + 0x80]
jmp 0x1000dfd7
test al, 0x30
jne 0x1000e45b
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x70]
or eax, 6
push eax
call fcn.1000ed20
push dword [esp + 0x78]
lea ecx, [esp + 0x74]
call fcn.1000eef0
jmp 0x1000a918
mov eax, dword [esp + 0x30]
test al, 2
je case.default.0x100086fb
mov esi, dword [esp + 0x7c]
and esi, 7
test al, 1
je 0x1000e113
and dword [esp + 0x60], 7
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007930
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 4
mov dword [esp + 0x48], eax
call fcn.10007ed0
add esp, 4
mov dword [esp + 0x7c], eax
mov ecx, edi
push dword [esp + 0x60]
call fcn.10007760
mov ecx, eax
call fcn.10007d60
mov edx, esi
mov ecx, eax
call fcn.10007f30
mov esi, dword [esp + 0x48]
add esp, 4
mov edi, eax
mov dword [esp + 0x2c], edi
test esi, esi
jne 0x1000e085
cmp dword [esp + 0x60], 5
je 0x1000e085
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push edi
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000a918
push 0xe000
lea ecx, [esp + 0x6c]
call fcn.10007e20
mov edi, eax
shr edi, 0xd
mov ecx, edi
sar esi, cl
mov ecx, esi
call fcn.1000eeb0
test al, al
je 0x1000e0e2
mov ecx, edi
mov eax, esi
mov edi, dword [esp + 0x44]
shl eax, cl
cmp edi, eax
jne 0x1000e0e6
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x70]
add eax, 0x40
push eax
call fcn.1000ed20
push dword [esp + 0x2c]
lea ecx, [esp + 0x74]
call fcn.1000ed20
push esi
lea ecx, [esp + 0x74]
call fcn.1000ed20
jmp 0x1000a918
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x70]
sub eax, 0xffffff80
push eax
call fcn.1000ed20
push dword [esp + 0x2c]
lea ecx, [esp + 0x74]
call fcn.1000ed20
push edi
lea ecx, [esp + 0x74]
call fcn.1000ed30
jmp 0x1000a918
test al, 0x30
jne 0x1000e174
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 4
call fcn.10007ed0
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push 5
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007d60
mov edx, esi
mov ecx, eax
call fcn.10007f30
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007930
push eax
lea ecx, [esp + 0x74]
call fcn.1000ed30
jmp 0x1000a918
mov ecx, dword [esp + 0x38]
call fcn.10007a20
test al, al
je 0x1000e45b
mov edx, dword [esp + 0x6c]
xor ecx, ecx
push 4
call fcn.10007ed0
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
push 5
mov ecx, edi
call fcn.10007760
mov ecx, eax
call fcn.10007d60
mov edx, esi
mov ecx, eax
call fcn.10007f30
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.1000ed20
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 0x10]
add esi, 0x10
push 1
mov dword [esp + 0x7c], esi
call fcn.100079c0
mov ecx, dword [esi]
push eax
sub ecx, 0xffffff80
call fcn.1000ebb0
test eax, eax
jne 0x1000e451
test byte [esp + 0x30], 0x10
mov eax, dword [edi + 0xc]
mov ecx, dword [esi]
mov dword [esp + 0x2c], eax
je 0x1000e3a2
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x78]
jae 0x1000e398
push eax
add ecx, 0x74
call fcn.1000ebe0
mov esi, dword [eax]
test esi, esi
je 0x1000e398
mov edi, dword [esp + 0x78]
lea eax, [esp + 0x64]
push 4
push 3
push eax
mov ecx, dword [edi]
call fcn.100100e0
test eax, eax
jne 0x100087a7
mov edx, dword [esp + 0x38]
lea eax, [edx + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
mov dword [eax + 8], ecx
lea eax, [edx + 0x4c]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
mov edx, dword [edx + 0x54]
mov ecx, dword [esp + 0x70]
cmp ecx, edx
jb 0x1000e50a
mov eax, dword [esp + 0x20]
sub cl, dl
mov edx, dword [esp + 0x64]
mov byte [edx + 6], cl
mov ecx, dword [esp + 0x64]
mov byte [ecx + 7], al
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x2c]
cdq
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
cmp dword [esi + 0x20], 0
je 0x1000e2d5
mov ecx, dword [esp + 0x64]
mov eax, dword [esi + 0x18]
add dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
adc dword [ecx + 0x1c], eax
xor edx, edx
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x70]
call fcn.1000ec10
add dword [esp + 0x70], 4
jmp 0x1000a918
mov eax, dword [esp + 0x20]
mov edi, 0xfffffffc
movzx eax, al
sub edi, eax
mov byte [esp + 0x3f], 4
mov edx, dword [esp + 0x7c]
mov edx, dword [edx]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x70]
cmp edx, dword [esp + 0x2c]
jb 0x1000e50a
mov eax, dword [eax]
sub edx, dword [esp + 0x2c]
push 0x14
mov dword [esp + 0x78], edx
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
mov dword [esp + 0x48], eax
lea ecx, [eax + 0x2c]
call fcn.1000ef10
mov edx, eax
test edx, edx
je 0x1000e451
mov ecx, dword [esi + 0x24]
mov eax, dword [esp + 0x2c]
mov dword [edx], ecx
mov dword [esi + 0x24], edx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 8], 0xffffffff
mov dword [edx + 0x10], edi
inc dword [eax + 0xa8]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1000e369
mov eax, dword [eax]
mov dword [edx + 8], eax
cmp byte [esp + 0x3f], 1
jne 0x1000e380
mov eax, dword [esp + 0x70]
mov byte [eax], 1
inc dword [esp + 0x70]
jmp 0x1000a918
mov ecx, dword [esp + 0x70]
mov edx, 0x4040404
call fcn.1000ec10
add dword [esp + 0x70], 4
jmp 0x1000a918
mov eax, 0xc
jmp 0x100087a7
push 4
push 3
lea eax, [esp + 0x6c]
push eax
call fcn.100100e0
test eax, eax
jne 0x100087a7
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x48]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov eax, dword [edx + 0x48]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [edx + 0x54]
sub ecx, dword [edx + 0x4c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [edx + 0x54]
mov eax, dword [esp + 0x70]
cmp eax, ecx
jb 0x1000e50a
sub al, cl
mov ecx, dword [esp + 0x64]
mov byte [ecx + 6], al
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
mov byte [eax + 7], cl
mov edi, dword [esp + 0x64]
movzx eax, byte [edi + 7]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [edi + 6]
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc esi, edx
add ecx, dword [edi + 0x10]
cdq
adc esi, dword [edi + 0x14]
add ecx, eax
adc esi, edx
add ecx, 4
mov dword [edi + 0x18], ecx
adc esi, 0
xor edx, edx
mov dword [edi + 0x1c], esi
mov ecx, dword [esp + 0x70]
call fcn.1000ec10
add dword [esp + 0x70], 4
jmp 0x1000a918
mov eax, 1
jmp 0x100087a7
mov ecx, 0x2b
call fcn.10007760
jmp 0x100087a7
push str.rmRel___nullptr
mov edx, 0x10ae
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str._opcode__Opcode::kMM_Mask___0___opcode__Opcode::kMM_Mask___Opcode::kMM_0F
mov edx, 0x1133
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str._opCode8__Opcode::kMM_Mask___0
mov edx, 0x1131
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str._opcode__Opcode::kCDSHL_Mask___0
mov edx, 0xe66
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str.rmRel__opType____Operand::kOpMem
mov edx, 0xe65
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str.rmRel___nullptr
mov edx, 0xe64
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str._opcode__Opcode::kW___0
mov edx, 0x1029
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str._x__0x1F___0x01
mov edx, 0x109f
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
and byte [eax], al
add byte [eax - 8], ch
jl 0x1000e51a
push str._cursor___from
or al, 0x10
adc byte [edx + 0x30], bh
mov edx, 0x30
xor byte [eax], al
add byte [eax], al
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitcorecodebufferwriter_p.h
call fcn.100105e0
ret 0x20
push str._x__0x1F___0x01
mov edx, 0x1108
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
push str.rmRel__opType____Operand::kOpMem
mov edx, 0x10af
mov ecx, str.O:TMPOpenLib_asmjit_xedparse_asmjit_asmjit_src_asmjitx86x86assembler.cpp
call fcn.100105e0
nop
aad 0x9d
add byte [eax], dl
mov ecx, 0x391000a8
xchg dword [eax], eax
adc byte [edi + eax*4], cl
add byte [eax], dl
inc esi
xchg dword [eax], eax
adc byte [esi - 0x22efff79], al
xchg dword [eax], eax
adc byte [esi], al
mov byte [eax], al
adc ah, dh
mov byte [eax], al
adc byte [esi], bh
mov dword [eax], eax
adc byte [edi - 0x77], cl
add byte [eax], dl
jno 0x1000e50d
add byte [eax], dl
jg 0x1000e510
add byte [eax], dl
jno 0x1000e507
add byte [eax], dl
or dword [ecx - 0x7622f000], 0x89ed1000
add byte [eax], dl
sub al, 0x8a
add byte [eax], dl
dec byte [ecx - 0x753af000]
add byte [eax], dl
salc
mov al, byte [eax]
adc byte [ecx], dl
mov eax, dword [eax]
adc byte [esi - 0x8efff71], bh
pop dword [eax]
adc byte [edi - 0x6efff70], bh
nop
add byte [eax], dl
pop edi
xchg edx, eax
add byte [eax], dl
xchg esp, eax
xchg edx, eax
add byte [eax], dl
xchg ebx, eax
add byte [eax], dl
mov edx, 0xd8100093
xchg edi, eax
add byte [eax], dl
lea ebx, [eax - 0x6713f000]
add byte [eax], dl
pushal
cdq
add byte [eax], dl
mov ds, word [ecx - 0x6585f000]
add byte [eax], dl
sbb al, 0x9b
add byte [eax], dl
rcr byte [ecx - 0x6035f000], cl
add byte [eax], dl
hlt