Function at 0x10062127
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
and dword [esp + 0x40], 0
mov eax, ecx
mov dword [esp + 4], eax
xor cl, cl
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0x74]
sbb eax, eax
and eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov byte [esp + 0x24], cl
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [eax*8 + 0x100a1458]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
shr eax, 0xe
and eax, 0x3ff
mov dword [esp + 0x14], edx
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + 0x100a0678]
movlpd qword [esp + 0x28], xmm0
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx]
and ecx, 7
and eax, 7
lea ecx, [eax + ecx*8]
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], esi
mov eax, dword [ecx + 0x70]
sub eax, edx
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [esp + 0x54], eax
sete al
xor edx, edx
or ecx, eax
inc edx
mov eax, dword [esp + 0x10]
or ecx, dword [eax + 0x44]
or ecx, dword [eax + 0x24]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x100623ed
cmp dword [eax + 0x2c], 0
jne 0x100621f6
push 0
push 5
mov ecx, eax
jmp 0x10062327
cmp dword [esp + 0x54], 0
je 0x1006813c
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10061b1e
test eax, eax
jne 0x10062311
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x100622c2
mov esi, edi
mov eax, dword [ebp + 0x18]
lea edi, [esp + 0x70]
push 0
push 6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ebx
lea edi, [esp + 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
lea edi, [esp + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [esp + 0xa8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x10]
lea edi, [esp + 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x20]
mov eax, dword [esp + 0x5c]
lea edi, [esp + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x68], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x6c], eax
mov al, byte [edi + 0x38]
mov byte [esp + 0x48], al
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x74], ecx
push eax
push dword [esp + 0x50]
call dword [edi + 0x64]
add esp, 0x14
test eax, eax
jne 0x10062315
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a1458]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a0678]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x100623a5
mov eax, dword [esp + 0x20]
and eax, 0x30000
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
shr eax, 0x10
test dl, al
jne 0x10062335
cmp dword [esp + 0x24], 0
jne 0x1006233c
push 0x21
pop eax
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
push ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x50], ecx
mov ecx, edi
push eax
call fcn.1006e34e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x1006239a
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x1006235a
mov eax, dword [esp + 0x48]
shr eax, 0x11
test dl, al
jne 0x1006235a
push 0x22
jmp 0x10062310
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x10062374
mov eax, dword [esp + 0x48]
shr eax, 0x12
test dl, al
jne 0x10062374
push 0x23
jmp 0x10062310
mov eax, dword [esp + 0x24]
not al
and al, dl
or eax, 0xf2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov byte [eax], bl
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x1006239e
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x100623ed
mov eax, dword [esp + 0x48]
shr eax, 0xe
test dl, al
je 0x10062453
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x100623d5
shr eax, 8
test al, 0xf
jne 0x10062453
cmp dword [ecx + 0x4c], edx
jne 0x10062453
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shr ecx, 0xf
not cl
and cl, dl
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
and dword [esp + 0x18], 0
movzx eax, byte [ebx*8 + 0x100a145e]
mov ecx, dword [eax*4 + 0x100a4a70]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a145d]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
movzx ebx, byte [eax + 4]
mov dword [esp + 0x40], ebx
cmp ebx, 0xa0
mov ebx, dword [ebp + 0x10]
ja case.default.0x1006244c
mov edi, dword [esp + 0x40]
mov dword [esp + 0x48], 0x8000000
jmp dword [edi*4 + 0x10068143]
push 0x24
jmp 0x10062310
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c0e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068599
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
shr edx, 0x15
and eax, 8
or edx, eax
mov eax, dword [esp + 0x14]
shr edx, 2
and eax, 8
or edx, eax
shr edx, 1
cmp edx, 0x80
ja 0x10065ea2
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0xc]
test edx, edx
lea ecx, [esp + 0x20]
setne al
and dword [esp + 0x18], 7
add dword [esp + 0x20], eax
and dword [esp + 0x1c], 7
call fcn.10061e75
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x1c]
shl cl, 3
sub cl, 0x40
add cl, byte [esp + 0x18]
mov byte [eax], cl
inc dword [esp + 0x1c]
jmp 0x100625e3
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x1006244c
lea ecx, [esp + 0xc]
call fcn.10061d51
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x1006244c.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.1006195a
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009c148]
call fcn.10061d03
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100685c6
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c0e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068599
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065ea2
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0xc]
test edx, edx
lea ecx, [esp + 0x20]
setne al
add dword [esp + 0x20], eax
call fcn.10061e75
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061f1f
mov edi, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
push edi
mov dword [edi + 0x44], eax
mov dword [edi + 0x50], eax
call fcn.10061bc2
xor eax, eax
jmp 0x1006232c
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006244c.1
cmp esi, edx
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
test eax, eax
je case.0x1006244c.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10065ea8
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006244c.1
cmp esi, 9
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
cmp eax, 2
jne case.default.0x1006244c
mov ecx, ebx
jmp 0x1006262c
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006244c.1
cmp esi, 2
jne case.default.0x1006244c
xor edx, edx
mov ecx, edi
call fcn.10061ddb
test al, al
je case.default.0x1006244c
mov esi, edi
mov ecx, esi
call fcn.1006190e
mov ecx, eax
call fcn.100619cb
mov ecx, esi
movzx ebx, byte [eax + 0x1009c148]
call fcn.1006190e
mov ecx, eax
call fcn.100619da
test al, al
jne case.default.0x1006244c
test bl, 2
jne case.default.0x1006244c
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e56
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10061d5a
mov edi, eax
mov ecx, edi
call fcn.10061e34
test al, al
jne 0x10065ea2
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10068599
mov ecx, esi
call fcn.1006190e
mov ecx, eax
call fcn.10061cdf
push eax
lea ecx, [esp + 0x20]
call fcn.10061ecd
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10061d03
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100685c6
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e75
xor eax, eax
push eax
push eax
push eax
jmp 0x1006545d
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10062769
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x1006244c.1
cmp esi, 0x19
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
mov ecx, ebx
jmp 0x10062747
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x1006244c.11
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
xor edx, edx
inc edx
jmp case.0x1006244c.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b7228]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, edx
je case.0x1006244c.63
mov ebx, edi
cmp esi, 2
je 0x1006280d
jmp case.default.0x1006244c
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x1006244c.14
push 2
pop edx
mov ecx, ebx
call fcn.10061c89
test al, al
je case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061c89
test al, al
je case.default.0x1006244c
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10061911
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061dac
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619cb
mov ecx, ebx
movzx eax, byte [eax + 0x1009c148]
mov dword [esp + 0x48], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061cdf
push eax
lea ecx, [esp + 0x20]
call fcn.10061ecd
lea ecx, [esp + 0x1c]
call fcn.10061a21
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10061d03
test dword [esp + 0x48], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.100685c6
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e56
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006190e
mov ecx, eax
call fcn.100619d6
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x20]
shr edx, 1
and ecx, 8
and edx, 4
mov dword [esp + 0x28], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x10]
shr edx, 1
and edx, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
call fcn.10061d5a
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.10061e34
test al, al
jne 0x10065ea6
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068599
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10061e75
jmp 0x1006743f
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006244c
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006244c.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.10061d80
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x1006296f
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, edi
jmp 0x1006382a
cmp esi, 2
jne 0x1006298a
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp 0x1006280b
mov ecx, ebx
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
cmp esi, 9
je 0x10062968
cmp esi, 0xa
jmp 0x10062929
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.100619cb
mov ecx, edi
movzx ebx, byte [eax + 0x1009c148]
call fcn.1006190e
mov ecx, eax
call fcn.100619da
test al, al
jne case.default.0x1006244c
test bl, 2
jne case.default.0x1006244c
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e56
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10061d5a
mov edx, dword [esp + 0x18]
mov esi, eax
mov ecx, dword [esp + 0x14]
shr edx, 2
and ecx, 8
or edx, ecx
shr edx, 1
or esi, edx
mov ecx, esi
call fcn.10061e34
test al, al
jne 0x10065ea2
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068599
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.1006190e
mov ecx, eax
call fcn.10061cdf
push eax
lea ecx, [esp + 0x20]
call fcn.10061ecd
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10061d03
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100685c6
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e75
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x10062733
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10062af1
push 2
pop edx
mov ecx, ebx
call fcn.10061c89
test al, al
je case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061c89
test al, al
je case.default.0x1006244c
jmp 0x10062968
cmp esi, edx
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061c10
jmp 0x10062ae4
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006244c
jmp 0x10062968
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b7228]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062b40
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x1006382f
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov dword [esp + 0x14], eax
jmp 0x1006280d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062ba9
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 2
jne 0x10062b93
push 0x66
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp case.0x1006244c.63
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ff
jmp case.0x1006244c.63
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 2
jne 0x10062bd9
push 0x66
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x1006280d
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ff
jmp 0x1006280d
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b7228]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062c21
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x1006244c.63
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov dword [esp + 0x14], eax
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062d3e
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne 0x10065344
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne 0x10062d0b
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10062cc6
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
push 4
pop ecx
jmp 0x10062cd4
mov edx, esi
call fcn.10061ada
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062cfb
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
jmp 0x10062d0b
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10061ada
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10068593
test al, al
je case.0x1006244c.63
push 2
lea ecx, [esp + 0x10]
call fcn.10061d34
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10038d2d
jmp case.0x1006244c.63
cmp esi, 0x11
jne 0x10062dbd
push 2
lea ecx, [esp + 0x10]
call fcn.10061d34
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne 0x1006280d
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062da9
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006280d
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x14], 4
jmp 0x1006280d
cmp esi, 0xa
jne 0x10062e2e
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, ebx
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne 0x1006280b
mov ecx, ebx
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x10062e1a
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006280b
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x14], 4
jmp 0x1006280b
push 0x80
lea ecx, [esp + 0x10]
call fcn.10061d80
cmp esi, 0x19
jne 0x10063057
mov ecx, edi
call fcn.10061943
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov ecx, dword [esp + 0x44]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x10062ec3
mov ecx, edi
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x10062ea5
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x10062eb4
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x54], edx
mov byte [esp + 0x30], dl
jmp 0x10062fc5
push 4
pop eax
cmp ecx, 2
jne 0x10062ede
push 0x200000
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp 0x10062f75
cmp ecx, eax
jne 0x10062efb
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068615
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10062f75
cmp ecx, 8
jne 0x10062f78
cmp dword [esp + 0x54], 0x15
jne 0x10062f1e
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.1006861b
mov byte [esp + 0x63], bl
pop ecx
pop ecx
test al, al
jne 0x10062f23
mov byte [esp + 0x5b], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068557
pop ecx
pop ecx
test al, al
jne 0x10062f49
cmp byte [esp + 0x5b], al
jne 0x10062f5e
push 0x32
pop ecx
call fcn.1006190e
jmp 0x10062311
cmp byte [esp + 0x5b], 0
je 0x10062f67
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10061b0a
test al, al
je 0x10062f67
push 4
pop eax
mov dword [esp + 0x44], eax
jmp 0x10062f6b
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.100685ff
push 4
pop eax
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
call fcn.1006858b
push dword [esp + 0x2c]
mov dword [esp + 0x58], eax
push dword [esp + 0x2c]
mov byte [esp + 0x38], al
call fcn.10068531
pop ecx
pop ecx
test al, al
je 0x10062fc1
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
mov edx, dword [esp + 0x54]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10062eb6
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x18], 0
jne 0x10063031
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x10062fd8
cmp dl, bl
je 0x10063039
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
jne 0x10063031
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10061d96
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x44], ebx
push 4
setne cl
shl eax, 3
pop ebx
add ecx, ebx
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10061da1
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x44]
call fcn.1006858b
mov byte [esp + 0x30], al
jmp case.0x1006244c.1
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
cmp dl, bl
push 3
pop eax
cmovne eax, ebx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp case.0x1006244c.63
cmp esi, 0x1a
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065254
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
push 4
mov esi, eax
mov dword [esp + 0x30], edx
pop ebx
lea edx, [esp + 0x40]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x40], ebx
call fcn.1006858b
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp dword [esp + 0x34], ebx
jne 0x100630c1
push dword [esp + 0x2c]
push esi
call fcn.10068615
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068531
pop ecx
pop ecx
test al, al
je 0x100630f9
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
mov ecx, dword [esp + 0x3c]
test al, al
push 1
movzx ecx, cl
pop edx
cmove ecx, edx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x30], cl
jmp 0x100630fc
xor edx, edx
inc edx
cmp byte [esp + 0x3c], dl
mov ecx, dword [esp + 0x34]
push 3
pop eax
cmovne eax, edx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10061d34
push dword [esp + 0x34]
jmp 0x1006297c
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
cmp eax, 1
je case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov edi, dword [esp + 0x10]
jmp 0x100653e4
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x1006318d
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, ebx
call fcn.10061948
mov dword [esp + 0x14], eax
jmp 0x10062968
cmp esi, 0xa
jne 0x100631a6
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp 0x10062c2a
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
lea ecx, [esp + 0xc]
call fcn.10061cdf
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10062968
cmp esi, 0x1a
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
test eax, eax
je 0x10065254
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062968
mov ebx, edi
cmp esi, 2
je 0x1006280d
push 0xe8
lea ecx, [esp + 0x10]
call fcn.10061d80
and dword [esp + 0x14], 0
jmp 0x10063b55
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x10063277
mov ecx, dword [ebp + 0x14]
call fcn.10061962
test al, al
je case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
and esi, 0x3f
cmp esi, 9
jne 0x10063336
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne 0x10065344
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne case.0x1006244c.63
mov ecx, edi
call fcn.10061be0
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100632fe
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006330a
mov edx, esi
call fcn.10061ada
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x100650b0
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
jmp case.0x1006244c.63
cmp esi, 0xa
jne case.default.0x1006244c
jmp 0x10062dc2
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10062926
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10061917
test al, al
je case.default.0x1006244c
lea ecx, [ebx + 0x10]
call fcn.10061917
jmp 0x10062803
mov edi, dword [ebp + 0xc]
mov edx, 0x8000000
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
xor eax, eax
cmp byte [edi + 3], 8
cmove eax, edx
or eax, ecx
mov dword [esp + 0xc], eax
cmp esi, 9
jne 0x1006340c
mov ecx, ebx
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 1
jne 0x100633e5
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100633ce
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100633dc
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x1006244c.63
mov ecx, ebx
call fcn.10061943
cmp eax, 2
jne 0x100633fc
push 0x66
lea ecx, [esp + 0x20]
call fcn.100685ab
push 1
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp case.0x1006244c.63
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
test eax, eax
je 0x10065254
mov ecx, ebx
call fcn.10061943
cmp eax, 2
jne 0x1006343b
push 0x66
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, ebx
call fcn.10061943
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp 0x1006280d
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.1006857e
mov ecx, ebx
mov di, ax
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x30], 3
mov esi, edx
movzx eax, di
shld esi, ecx, 0x10
cdq
shl ecx, 0x10
or ecx, eax
or esi, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
jmp case.0x1006244c.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10063549
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov esi, eax
mov byte [esp + 0x30], 1
mov eax, edx
mov dword [esp + 0x28], esi
push eax
push esi
mov dword [esp + 0x34], eax
call fcn.10068531
pop ecx
pop ecx
test al, al
je 0x10063514
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
je 0x10063537
push 2
lea ecx, [esp + 0x10]
call fcn.10061d8b
mov ecx, edi
call fcn.10061943
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061948
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x1006382a
cmp esi, 0xd1
jne 0x10063607
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10061943
cmp eax, 4
jne 0x100635b4
push dword [esp + 0x2c]
push esi
call fcn.10068615
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068531
pop ecx
pop ecx
test al, al
je 0x100635db
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
je 0x10062b49
push 2
lea ecx, [esp + 0x10]
call fcn.10061d8b
mov ecx, edi
call fcn.10061943
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062b49
cmp esi, 9
jne 0x1006366e
mov ecx, ebx
call fcn.10061943
cmp eax, 1
je 0x1006377a
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne 0x10065344
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp case.0x1006244c.63
cmp esi, 0x11
jne 0x100636b2
mov ecx, ebx
call fcn.10061943
cmp eax, 1
je 0x100637df
mov ecx, edi
call fcn.10061948
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp 0x1006280d
cmp esi, 0x19
jne case.0x1006244c.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov esi, eax
mov byte [esp + 0x30], 1
mov ebx, edx
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.10061943
cmp eax, 4
jne 0x10063713
push ebx
push esi
call fcn.10068615
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068531
pop ecx
pop ecx
test al, al
je 0x10063736
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
je 0x10063759
push 2
lea ecx, [esp + 0x10]
call fcn.10061d8b
mov ecx, edi
call fcn.10061943
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061948
mov dword [esp + 0x18], eax
jmp 0x10062c18
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x1006244c.12
cmp esi, 9
jne 0x100637da
xor edx, edx
mov ecx, edi
call fcn.10061c70
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061c00
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x100637c6
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x10063326
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x18], 4
jmp case.0x1006244c.63
cmp esi, 0x11
jne 0x100637f9
xor edx, edx
mov ecx, edi
call fcn.10061c70
mov edi, dword [esp + 0x10]
test al, al
je 0x1006263d
jmp 0x10062811
cmp esi, 0x49
jne 0x10063838
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, dword [ebp + 0x14]
call fcn.10061948
mov dword [esp + 0x18], eax
jmp case.0x1006244c.63
cmp esi, 0x89
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ebx, dword [ebp + 0x14]
jmp 0x1006280d
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100638af
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 1
jne case.0x1006244c.63
mov ecx, edi
jmp 0x100637a7
cmp esi, 2
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
test eax, eax
je 0x10065254
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x1006394e
mov ecx, edi
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061943
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10061e4a
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.1006862f
jmp case.0x1006244c.1
cmp esi, 9
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
cmp eax, 2
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061d34
jmp 0x10063938
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006244c
push 7
pop edx
mov ecx, edi
call fcn.10061ddb
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
cmp eax, 2
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov ebx, eax
test ebx, ebx
je 0x10065254
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10061d34
push ebx
lea ecx, [esp + 0x10]
call fcn.1006862f
jmp 0x10062683
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100638af
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 1
jne 0x10063a1b
mov eax, dword [edi]
jmp 0x100633ab
mov ecx, dword [esp + 0x10]
call fcn.10061ae8
test al, al
je 0x10063a3f
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x1006392e
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
jmp case.0x1006244c.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
jmp 0x10062757
push 0x40
mov edx, 0x80
pop ecx
call fcn.10061ad0
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068593
mov edi, dword [ebp + 0xc]
test al, al
je 0x10063ac4
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10061b0a
test al, al
je 0x10063ac4
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10068593
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.100685ab
mov ebx, edi
jmp 0x1006323f
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061917
test al, al
je 0x10063ac4
xor edx, edx
mov ecx, edi
inc edx
call fcn.10061981
test al, al
je case.default.0x1006244c
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10061ae8
test al, al
je 0x10063b06
mov ecx, edi
call fcn.10061943
cmp eax, 2
je 0x10063b1d
mov ecx, esi
call fcn.10061aee
test al, al
je 0x10063b21
mov ecx, edi
call fcn.10061943
cmp eax, 4
jne 0x10063b21
mov al, 1
jmp 0x10063b23
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.100685c6
jmp 0x1006323f
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062968
mov ebx, edi
cmp esi, 2
je 0x1006280d
push 0xe9
jmp 0x10063236
mov ebx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065ea6
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
mov dword [esp + 0x50], edx
or cl, 0x40
mov byte [eax], cl
xor eax, eax
mov ecx, dword [esp + 0x1c]
test edx, edx
setne al
add ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x3c], ecx
movzx eax, byte [eax + 7]
mov ecx, dword [esp + 0xc]
and ecx, 0x1f00
sub ecx, 0x100
mov esi, dword [eax*4 + 0x100a4850]
neg ecx
mov dword [esp + 0x34], esi
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [esp + 0x14], eax
setne al
add eax, 5
add ecx, eax
mov eax, dword [ebx]
and al, 7
mov dword [esp + 0x48], ecx
mov ecx, ebx
cmp al, 4
jne 0x10063d4a
call fcn.1006190e
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061aaf
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10067cd5
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x48], esi
call fcn.10061a77
test al, al
je 0x10063c85
mov ecx, ebx
call fcn.10061a84
mov ebx, dword [esp + 0x48]
mov esi, eax
sub esi, dword [esp + 0x3c]
sub esi, ebx
lea eax, [esi - 2]
add eax, ebx
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.100686a0
test al, al
je 0x10063df4
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x10063df4
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
jne 0x10063df4
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10061ada
push ebx
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x100625fc
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x10063caf
cmp dword [esp + 0xc], 0
je 0x10063d33
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068593
test al, al
jne 0x10063d33
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x44], esi
je 0x10063ded
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068593
test al, al
jne 0x10063ded
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10061dac
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068599
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100685ab
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068599
mov dword [esp + 0x34], 0xfffffffc
push 4
pop ebx
jmp 0x10067da6
push ebx
lea ecx, [esp + 0x20]
call fcn.100685ab
or dword [esp + 0x34], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x10067da6
call fcn.1006192e
test al, al
je 0x1006263d
mov ecx, edi
call fcn.10061ae4
mov ecx, eax
call fcn.10061a8f
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x10063e82
mov ebx, dword [esp + 0x48]
mov esi, eax
sub esi, ebx
mov ecx, edi
sbb edx, 0
sub esi, dword [esp + 0x44]
sbb edx, dword [esp + 0x38]
sub esi, dword [esp + 0x3c]
sbb edx, 0
mov dword [esp + 0x40], edx
call fcn.10061af6
mov cl, al
call fcn.10061a13
test al, al
jne 0x10063c25
push dword [esp + 0x40]
push esi
call fcn.10068557
pop ecx
pop ecx
test al, al
jne 0x10063c25
mov ecx, dword [esp + 0x54]
call fcn.10061dc8
test al, al
jne 0x10063e7e
push 0x30
jmp 0x10067cd7
cmp dword [esp + 0xc], 0
je 0x10063ded
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068593
test al, al
jne 0x10063ded
push 0x10
pop ecx
call fcn.10061acb
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10061adf
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10061dac
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068599
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100685ab
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068599
push esi
lea ecx, [esp + 0x20]
call fcn.100685b8
jmp 0x100625fc
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.10069258
test eax, eax
jne 0x10062315
mov ecx, edi
call fcn.10061b17
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10061a21
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
cmp dword [esp + 0xc], 0
je 0x10063fb7
mov ecx, edi
call fcn.10061af6
mov cl, al
call fcn.10061a19
test al, al
je 0x10063f2d
mov ecx, dword [esp + 0x54]
call fcn.10061dc8
test al, al
je 0x10063f2d
cmp dword [esp + 0x50], 0
jne 0x10063f0a
push 0x40
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x34]
call fcn.10068d72
test eax, eax
jne 0x10062315
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10061dac
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068599
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100685ab
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068599
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10061a30
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061b84
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061a55
push ebx
lea ecx, [esp + 0x20]
call fcn.100686af
jmp 0x100625fc
push esi
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10061a30
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061b84
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061a55
push ebx
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x100625fc
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x1006404c
mov ecx, edi
mov ebx, edi
call fcn.10061943
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x10064021
mov ecx, edi
call fcn.10061afa
mov esi, eax
jmp 0x1006403d
sub esi, 2
cmp esi, 2
je 0x1006403d
cmp esi, 4
je 0x1006403d
mov ecx, edi
call fcn.10061afa
cmp esi, eax
jne 0x10064756
push esi
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp 0x10062811
cmp esi, 0x1b
jne case.default.0x1006244c
mov ecx, dword [esp + 0x10]
call fcn.10061ae8
test al, al
je case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, ebx
mov esi, eax
call fcn.1006190e
mov ecx, esi
mov edi, eax
call fcn.10061a0a
test edx, edx
jg 0x10062f3c
jl 0x10064094
cmp eax, 0xffff
ja 0x10062f3c
mov ecx, edi
call fcn.10061a0a
test edx, edx
jg 0x10062f3c
jl 0x100640ae
cmp eax, 0xffffffff
ja 0x10062f3c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, esi
call fcn.10061a0a
mov ecx, edi
mov esi, eax
call fcn.10061a0a
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x1006244c.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp 0x10062b49
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064310
mov ecx, edi
call fcn.10061962
mov ecx, edi
test al, al
je 0x100642a2
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061962
test al, al
je 0x10064200
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne case.default.0x1006244c
cmp esi, 1
jne 0x100641e3
mov ecx, edi
call fcn.10061be0
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10064193
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006419f
mov edx, esi
call fcn.10061ada
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x100641c4
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
jmp 0x100641d0
mov edx, esi
call fcn.10061ada
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x10062d0b
push 0x89
lea ecx, [esp + 0x10]
call fcn.10061d80
push esi
lea ecx, [esp + 0x10]
call fcn.100685d5
jmp 0x10062d0b
mov ecx, ebx
call fcn.10061c40
test al, al
je 0x10064233
push 0x8c
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
dec dword [esp + 0x14]
jmp case.0x1006244c.63
mov ecx, ebx
call fcn.10061c50
test al, al
je 0x10064280
push pe_nt_image_headers32
lea ecx, [esp + 0x10]
call fcn.10061d80
test byte [esp + 0x14], 8
je case.0x1006244c.63
mov ecx, dword [esp + 0x10]
call fcn.10061ae8
test al, al
je case.0x1006244c.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.100685ab
and dword [esp + 0x14], 7
jmp case.0x1006244c.63
mov ecx, ebx
call fcn.10061c60
test al, al
je case.default.0x1006244c
push 0x121
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp case.0x1006244c.63
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061962
test al, al
je case.default.0x1006244c
mov ecx, edi
call fcn.10061c40
test al, al
je 0x100642e5
push 0x8e
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, ebx
jmp 0x1006421b
mov ecx, edi
call fcn.10061c50
test al, al
je 0x100642fa
push 0x122
jmp 0x10064243
mov ecx, edi
call fcn.10061c60
test al, al
je case.default.0x1006244c
push 0x123
jmp 0x10064294
cmp esi, 0x11
jne 0x10064417
mov ecx, edi
call fcn.10061948
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10061c40
lea ecx, [esp + 0xc]
test al, al
je 0x1006435d
push 0x8e
call fcn.10061d80
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
dec dword [esp + 0x14]
jmp 0x1006280d
push 0
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
cmp dword [esp + 0x14], 0
jne 0x100643c9
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619a3
test al, al
jne 0x100643c9
mov ecx, ebx
call fcn.1006190e
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10061943
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10061f76
add esp, 0xc
test al, al
je 0x100643c9
push 0xa0
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp 0x100647c9
mov ecx, edi
call fcn.10061943
cmp eax, 1
jne 0x1006440d
mov ecx, edi
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x100643fe
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006440d
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x14], 4
push 0x8a
jmp 0x1006344a
cmp esi, 0xa
jne 0x10064520
mov ecx, ebx
call fcn.10061948
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.10061c40
lea ecx, [esp + 0xc]
test al, al
je 0x10064466
push 0x8c
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x1006280d
push 0
call fcn.10061d80
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
cmp dword [esp + 0x14], 0
jne 0x100644c9
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.100619a3
test al, al
jne 0x100644c9
mov ecx, edi
call fcn.1006190e
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10061943
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10061f76
add esp, 0xc
test al, al
je 0x100644c9
push 0xa2
jmp 0x100643bb
mov ecx, ebx
call fcn.10061943
cmp eax, 1
jne 0x1006450d
mov ecx, ebx
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x100644fe
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006450d
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp 0x1006445f
cmp esi, 0x19
jne 0x10064652
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
mov byte [esp + 0x30], al
cmp al, 1
jne 0x100645a8
mov ecx, edi
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x1006456c
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x1006457b
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006315b
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x100645fa
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
jne 0x100645fa
push ebx
push esi
call fcn.1006861b
pop ecx
pop ecx
test al, al
je 0x1006461a
mov ecx, dword [esp + 0x10]
push 1
call fcn.10061b0a
test al, al
je 0x1006461a
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.10061d80
push dword [esp + 0x30]
lea ecx, [esp + 0x10]
call fcn.10068645
jmp 0x1006315b
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068557
pop ecx
pop ecx
test al, al
je 0x100645fa
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.10061d80
and dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x1006244c.63
cmp esi, 0x1a
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065254
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.10061d80
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.100685d5
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
lea edx, [esp + 0x50]
call fcn.1006858b
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x1006475d
mov ecx, edi
call fcn.10061948
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.1006194c
test al, al
je case.default.0x1006244c
cmp dword [esp + 0x14], 0
jne case.default.0x1006244c
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619a3
test al, al
jne 0x10064752
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061cbc
cmp eax, 2
jne 0x100647c9
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x10067cd7
cmp esi, 0xa
jne 0x1006480f
mov ecx, ebx
call fcn.10061948
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10061d80
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.1006194c
test al, al
je case.default.0x1006244c
cmp dword [esp + 0x14], 0
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.100619a3
test al, al
jne 0x10064752
mov ecx, esi
call fcn.1006190e
mov ecx, eax
call fcn.100619ef
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10061afa
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x30], al
call fcn.1006190e
mov ecx, eax
call fcn.10061cdf
push eax
lea ecx, [esp + 0x20]
call fcn.10061ecd
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x1006244c.1
cmp esi, 0x19
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.10061bf0
test al, al
je case.default.0x1006244c
mov ecx, edi
call fcn.10061948
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10061d80
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.1006865b
jmp 0x1006315b
mov ecx, ebx
call fcn.10061943
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061d34
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
cmp esi, 9
jne 0x10062b40
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 1
jne case.0x1006244c.63
jmp 0x100633a9
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061bf0
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068666
jmp 0x10062c2a
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, ebx
mov esi, eax
call fcn.1006190e
mov ecx, eax
call fcn.1006195a
mov ecx, esi
mov bl, al
call fcn.1006195a
cmp al, bl
jne case.default.0x1006244c
mov ecx, esi
call fcn.10061999
test al, al
jne case.default.0x1006244c
mov ecx, esi
call fcn.100619da
test al, al
jne case.default.0x1006244c
mov ecx, esi
call fcn.10061cd5
test al, al
je 0x10064964
mov ecx, esi
call fcn.10061cdf
cmp eax, 1
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x1006280d
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x100649d0
mov ecx, ebx
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10061e4a
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.10061d80
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.1006862f
jmp 0x10062745
cmp esi, 9
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
cmp eax, 2
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061d34
mov ecx, ebx
jmp 0x1006393a
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
cmp eax, 2
jne case.default.0x1006244c
push 6
pop edx
mov ecx, ebx
call fcn.10061ddb
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
mov edi, eax
test edi, edi
je 0x10065254
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10061d34
push edi
jmp 0x100639e4
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064aab
mov ecx, edi
call fcn.10061c40
test al, al
je 0x10064b41
mov ecx, edi
call fcn.10061948
cmp eax, 7
jae 0x10064b3a
push dword [eax*4 + 0x1009c128]
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp case.0x1006244c.1
cmp esi, 3
jne 0x10064b85
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov esi, eax
mov bl, 4
mov eax, edx
mov dword [esp + 0x28], esi
push eax
push esi
mov dword [esp + 0x34], eax
mov byte [esp + 0x38], bl
call fcn.10068531
pop ecx
pop ecx
test al, al
je 0x10064afc
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
movzx ebx, bl
push 1
pop eax
cmove ebx, eax
mov byte [esp + 0x30], bl
push 0x68
pop eax
push 0x6a
pop ecx
cmp bl, 1
cmove eax, ecx
push eax
jmp 0x10064a9d
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064b85
mov ecx, edi
call fcn.10061c40
test al, al
je 0x10064b41
mov ecx, edi
call fcn.10061948
cmp eax, 2
je 0x10064b3a
cmp eax, 7
jae 0x10064b3a
push dword [eax*4 + 0x1009c610]
jmp 0x10064a9d
push 0x31
jmp 0x10062f3e
mov ecx, edi
call fcn.10061943
cmp eax, 2
jb case.default.0x1006244c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.1006862f
mov ecx, edi
call fcn.10061948
mov dword [esp + 0x14], eax
jmp 0x1006315b
cmp esi, 2
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
test eax, eax
je 0x10065254
mov ecx, edi
call fcn.10061943
cmp eax, esi
je 0x10064bc2
mov ecx, edi
call fcn.10061943
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10061afa
cmp esi, eax
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.1006862f
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x10064bee
push edx
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp case.0x1006244c.1
cmp esi, 3
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10064c29
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
jne 0x10064c29
push 1
jmp 0x10064be0
mov byte [esp + 0x30], 2
jmp case.0x1006244c.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10064d14
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 1
jne 0x10064ca1
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064c8f
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10064c9d
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10064cbd
mov ecx, ebx
call fcn.10061948
cmp eax, 1
jne case.default.0x1006244c
push 2
jmp 0x10063049
cmp esi, 0x19
jne case.default.0x1006244c
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
xor ebx, ebx
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], dl
cmp eax, ebx
jne 0x10064d00
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
je case.0x1006244c.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.10061d8b
mov byte [esp + 0x30], bl
jmp case.0x1006244c.63
call fcn.10061943
test eax, eax
je 0x10065254
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
cmp esi, 0xa
jne 0x10064d57
mov ecx, ebx
call fcn.10061948
cmp eax, 1
jne case.default.0x1006244c
push 2
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp 0x1006280b
cmp esi, 0x1a
jne case.default.0x1006244c
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
xor ebx, ebx
movzx eax, al
xor cl, cl
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x3c], ecx
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], cl
cmp eax, ebx
jne 0x10064da0
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
je 0x1006280b
push 0x10
lea ecx, [esp + 0x10]
call fcn.10061d8b
mov al, bl
jmp 0x100646c3
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10062926
mov ecx, edi
call fcn.10061948
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x10064de0
cmp eax, 4
jmp 0x100633bc
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x100633d3
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10064e32
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, ebx
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
jmp 0x10062530
cmp esi, 0xca
jne 0x10064e7e
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685d5
mov ecx, ebx
call fcn.10061948
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006280d
push edx
lea ecx, [esp + 0x10]
call fcn.10061d34
cmp esi, 0x49
jne 0x10064ea5
mov ecx, dword [ebp + 0x14]
call fcn.10061948
cmp eax, 1
jne case.default.0x1006244c
mov ecx, edi
jmp 0x1006316e
cmp esi, 0x4a
jne case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
call fcn.10061948
cmp eax, 1
jne case.default.0x1006244c
mov ecx, ebx
jmp 0x10063192
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, ebx
mov esi, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
test eax, eax
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
xor edx, edx
mov ecx, eax
call fcn.10061981
test al, al
je case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov edi, eax
call fcn.10061939
test al, al
je 0x10064f25
mov ecx, ebx
call fcn.10061943
cmp eax, edi
jne 0x10065344
push edi
lea ecx, [esp + 0x10]
call fcn.100685ea
jmp 0x10062683
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, edi
mov esi, edi
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
test eax, eax
jne case.default.0x1006244c
mov ecx, ebx
call fcn.1006190e
xor edx, edx
mov ecx, eax
call fcn.10061981
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
mov ecx, edi
mov ebx, eax
call fcn.10061939
test al, al
je 0x10064f93
mov ecx, edi
call fcn.10061943
cmp eax, ebx
jne 0x10065344
push ebx
jmp 0x10064f26
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x1006244c
mov ecx, edi
call fcn.1006190e
mov ecx, eax
call fcn.100619cb
mov ecx, ebx
mov esi, eax
call fcn.1006190e
mov ecx, eax
call fcn.100619cb
cmp esi, eax
jne case.default.0x1006244c
mov ecx, edi
mov esi, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619da
test al, al
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
mov ebx, eax
test ebx, ebx
je 0x10065254
jmp 0x10064f84
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100650c1
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
jne 0x10065344
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne case.0x1006244c.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10065083
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061ada
push 4
pop ecx
jmp 0x10065091
mov edx, esi
call fcn.10061ada
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100650ac
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x10063322
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10061ada
add dword [esp + 0x14], 4
jmp case.0x1006244c.63
cmp esi, 0xa
jne 0x1006510d
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, ebx
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne 0x1006280b
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062e1a
jmp 0x10062dfd
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
lea ecx, [esp + 0xc]
call fcn.10061cdf
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10065240
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061943
cmp eax, 1
jne 0x100651b5
mov ecx, edi
call fcn.10061be0
lea ecx, [esp + 0x20]
test al, al
jne 0x10065185
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061ada
jmp 0x10065194
mov edx, Ordinal_2
call fcn.10061ada
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100651ef
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061943
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.1006858b
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x1006244c.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
jne case.0x1006244c.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, edi
call fcn.10061943
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp case.0x1006244c.1
cmp esi, 0x1a
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
test eax, eax
jne 0x1006525b
push 0x34
jmp 0x10062310
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061943
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
jmp 0x100646ba
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x1006244c.61
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ea
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
cmp eax, 1
jne 0x1006280d
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100652f7
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10065305
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x1006280d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065471
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
cmp esi, eax
je 0x1006534b
push 0x35
jmp 0x10062310
cmp esi, 1
je 0x1006504e
cmp dword [esp + 0x54], 0x668
jne 0x1006546b
cmp dword [esp + 0x14], 0
je 0x10065374
cmp dword [esp + 0x18], 0
jne 0x1006546b
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10061aee
test al, al
je 0x100653a2
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x100653a2
cmp esi, 4
jb 0x100653a2
cmp esi, 8
jne 0x1006546b
push 0x8000000
jmp 0x100653cd
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068593
test al, al
jne 0x1006546b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.100685ea
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10061d96
push 0x90
lea ecx, [esp + 0x10]
call fcn.10061da1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e56
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10061d5a
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10061e34
test al, al
jne 0x10065ea6
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068599
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10061d34
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061e75
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.10061f1f
jmp 0x100625fc
push esi
jmp 0x10063a47
cmp esi, 0xa
jne case.default.0x1006244c
jmp 0x100650c6
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100654cb
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068593
test al, al
je case.0x1006244c.63
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x10062d2c
cmp esi, 0x11
je 0x10062b49
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x10062c2a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006559a
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x100655ed
test edx, edx
jne case.default.0x1006244c
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10061dac
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c0e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068599
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0xc]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], cl
inc dword [esp + 0x1c]
jmp case.0x1006244c.0
cmp esi, 2
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.10061d80
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10061d96
jmp 0x1006280b
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x100655e9
cmp esi, edx
jne 0x1006559a
mov ecx, edi
call fcn.10061948
mov edx, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xc]
shr eax, 0xa
movzx eax, al
add eax, 0x36000
add eax, edx
mov dword [esp + 0xc], eax
jmp case.0x1006244c.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x100656a1
mov ecx, edi
mov ebx, edi
call fcn.10061943
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x10065639
push 0x1000
mov ecx, esi
call fcn.10061d10
test al, al
jne 0x1006280d
mov ecx, edi
call fcn.10061943
cmp eax, 8
jne 0x1006565c
push 0x2000
mov ecx, esi
call fcn.10061d10
test al, al
je 0x1006565c
push 4
jmp 0x1006344a
mov ecx, edi
call fcn.10061943
cmp eax, 0xa
jne case.default.0x1006244c
push 0x800
mov ecx, esi
call fcn.10061d10
test al, al
je case.default.0x1006244c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
lea ecx, [esp + 0xc]
call fcn.10061cdf
jmp 0x10062b50
cmp esi, edx
jne case.default.0x1006244c
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x100656c5
mov ecx, edi
call fcn.10061948
add eax, 0x364c0
jmp 0x10065549
cmp eax, 0xec
jne 0x100656dd
mov ecx, edi
call fcn.10061948
add eax, 0x374d0
jmp 0x10065549
cmp eax, 0xef
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
add eax, 0x374d8
jmp 0x10065549
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006244c
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, edi
mov ebx, edi
call fcn.10061943
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10065739
push 0x800
mov ecx, esi
call fcn.10061d10
test al, al
jne 0x10065655
mov ecx, edi
call fcn.10061943
cmp eax, 4
jne 0x10065759
push 0x1000
mov ecx, esi
call fcn.10061d10
test al, al
jne 0x1006280d
mov ecx, edi
call fcn.10061943
cmp eax, 8
jne case.default.0x1006244c
push 0x2000
mov ecx, esi
call fcn.10061d10
test al, al
je case.default.0x1006244c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
and eax, 0xffff1fff
jmp 0x10065689
test esi, esi
jne case.0x1006244c.70
push edx
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp case.0x1006244c.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
push eax
jmp 0x10065795
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100657dc
mov ecx, edi
call fcn.10061948
test eax, eax
jne case.default.0x1006244c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
jmp 0x10065549
cmp esi, 2
jne case.default.0x1006244c
jmp 0x100655c2
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006582a
mov ecx, ebx
call fcn.10061c20
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068675
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10063537
cmp esi, 0xca
jne case.default.0x1006244c
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, ebx
call fcn.10061c20
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068675
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062c2a
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x100658c1
mov ecx, ebx
call fcn.10061c20
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068675
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x1006317d
cmp esi, 0xca
jne case.default.0x1006244c
jmp 0x10065847
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006591b
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068593
test al, al
je case.0x1006244c.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x1006244c.63
mov ecx, eax
jmp 0x100654b7
cmp esi, 0x11
je 0x10062b49
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x10062c21
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065957
mov ecx, edi
call fcn.10061943
cmp eax, 1
je case.default.0x1006244c
jmp 0x100640f1
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
cmp eax, 1
je case.default.0x1006244c
jmp 0x10064ebf
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065a35
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061c30
test al, al
je 0x100659e9
mov ecx, ebx
call fcn.10061c30
test al, al
je 0x100659e9
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068593
test al, al
je case.0x1006244c.63
push 0x10
jmp 0x10062d23
mov ecx, edi
call fcn.10061c20
test al, al
je 0x10065ab5
mov ecx, ebx
call fcn.10061c20
test al, al
je 0x10065ab5
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068593
test al, al
je case.0x1006244c.63
push 0x2001d6
jmp 0x100654bd
cmp esi, 0x11
jne 0x10065a75
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061c30
test al, al
je 0x10065a63
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x1006280d
mov ecx, edi
call fcn.10061c20
test al, al
je 0x10065ab5
push 0x40017e
jmp 0x10065a55
cmp esi, 0xa
jne 0x10065ab5
mov ecx, ebx
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061c30
test al, al
je 0x10065aa3
push 0x17f
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x1006280b
mov ecx, ebx
call fcn.10061c20
test al, al
je 0x10065ab5
push 0x2001d6
jmp 0x10065a95
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x4c], eax
call fcn.10061da1
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, 0x200000
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x10000161
cmove ecx, edx
or dword [esp + 0xc], ecx
cmp esi, 9
jne 0x10065b01
mov ecx, ebx
call fcn.10061962
test al, al
je 0x10065b0a
jmp 0x10063542
cmp esi, 0x11
je 0x1006280d
push dword [esp + 0x48]
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
mov ecx, ebx
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061c20
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068675
cmp esi, 9
jne 0x100629ab
mov ecx, edi
call fcn.10061962
jmp 0x10062ae4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10065b77
xor edx, edx
mov ecx, eax
call fcn.10061ca3
test al, al
je case.default.0x1006244c
and esi, 0x3f
jmp case.0x1006244c.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10065b77
push 7
pop edx
mov ecx, eax
call fcn.10061ddb
jmp 0x10065b6f
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10065baa
mov edx, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, edx
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10062b31
cmp esi, 0x11
jne case.default.0x1006244c
mov eax, dword [edi + 4]
jmp 0x10062b50
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065c21
mov ecx, edi
call fcn.10061c20
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061c20
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068684
mov ecx, edi
call fcn.10061948
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x1006382a
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061c20
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068675
jmp 0x10062b49
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10063537
cmp esi, 0x11
je 0x10062b49
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
lea ecx, [esp + 0xc]
call fcn.10061cdf
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x1006244c
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062968
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10065beb
cmp esi, 0x11
je 0x10065c2a
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
lea ecx, [esp + 0xc]
call fcn.10061cdf
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061c20
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068675
jmp 0x10065c7f
mov ebx, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
or eax, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x10063537
cmp esi, 0xd1
jmp 0x10062b43
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x10065beb
cmp esi, 0xd1
jmp 0x10065c24
mov ecx, dword [ebp + 0xc]
call fcn.10061948
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x1006244c.63
cmp esi, 0xd9
jne case.default.0x1006244c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.10061cdf
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x30], 2
mov esi, edx
movzx eax, bl
cdq
shld edx, eax, 8
shl eax, 8
add ecx, eax
mov dword [esp + 0x28], ecx
adc esi, edx
mov dword [esp + 0x2c], esi
jmp case.0x1006244c.63
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [edi + 4]
and ecx, 7
shl ecx, 9
add ecx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp ecx, 9
je case.0x1006244c.63
cmp ecx, 0x6c9
jne case.default.0x1006244c
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, dword [ebp + 0x18]
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
mov ecx, dword [ebp + 0x14]
jmp 0x10065dcb
mov edi, dword [ebp + 0xc]
and dword [esp + 0x2c], 0
movzx eax, cl
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [edi + 4]
mov dword [esp + 0xc], 0x10f
mov dword [esp + 0x14], eax
cmp esi, 9
je 0x10063542
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x1006263d
jmp 0x10062811
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x10062315
mov esi, ecx
mov eax, ecx
shr esi, 6
and eax, 0x600000
and esi, 0x1800000
and ecx, 0x1f00
or esi, eax
mov eax, dword [esp + 0x20]
shr esi, 5
or esi, ecx
shr eax, 0xa
shr esi, 8
test dl, al
je 0x10065eff
push 0x18
lea ecx, [esp + 0x10]
call fcn.10061db5
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.100685b8
jmp case.0x1006244c.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100685ab
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100685ab
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp case.0x1006244c.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065fc4
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061962
test al, al
je 0x10065f7a
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp case.0x1006244c.93
mov ecx, edi
call fcn.10061962
test al, al
je 0x10065f91
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
inc eax
jmp 0x10065f6b
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068593
test al, al
je case.0x1006244c.93
push 1
lea ecx, [esp + 0x10]
call fcn.10061d34
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10038d2d
jmp case.0x1006244c.93
cmp esi, 0x11
jne 0x10065fd5
mov ecx, edi
call fcn.10061948
jmp 0x1006702a
cmp esi, 0xa
jne case.default.0x1006244c
push edx
lea ecx, [esp + 0x10]
call fcn.10061d34
jmp 0x10067021
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061bf0
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068666
jmp case.0x1006244c.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006244c
mov ebx, edi
jmp 0x1006702e
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10066ab8
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061943
mov ecx, eax
call fcn.10061e1e
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.10061e0e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068583
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp 0x10067021
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x1006244c.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061948
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x30], 1
jmp case.0x1006244c.93
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
or eax, dword [edi + 8]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10066148
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10067eef
cmp esi, 0xca
jmp 0x1006701b
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x1006616d
push 7
pop edx
mov ecx, eax
call fcn.10061ddb
test al, al
je case.default.0x1006244c
and esi, 0x3f
jmp case.0x1006244c.103
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x1006244c.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x100661c6
mov ecx, ebx
call fcn.10061943
mov ecx, eax
call fcn.10061e1e
push eax
jmp 0x100661db
mov ecx, edi
call fcn.10061943
cmp eax, 0x20
jne case.0x1006244c.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp case.0x1006244c.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x1006244c.106
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061962
test al, al
je case.0x1006244c.106
mov ecx, edi
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
or esi, eax
mov ecx, esi
call fcn.10061e1e
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.10061e4a
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.10061d80
mov ecx, edi
call fcn.10061948
jmp 0x10067ee4
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006626e
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067eef
cmp esi, 0x11
jne case.default.0x1006244c
mov eax, dword [edi + 4]
jmp 0x1006702a
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov ecx, eax
call fcn.10061e1e
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10061e0e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068583
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp 0x10065fc9
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x34], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10061971
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061971
test al, al
je case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
call fcn.10061971
test al, al
je case.default.0x1006244c
mov ecx, dword [ebp + 0x18]
call fcn.10061971
test al, al
je case.default.0x1006244c
mov ecx, dword [esp + 0x34]
call fcn.10061971
test al, al
je case.default.0x1006244c
mov ecx, esi
call fcn.10061924
test al, al
je case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10061948
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10061948
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.10061948
mov edx, eax
test bl, 3
jne 0x10066395
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10066395
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10066395
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10066395
mov ecx, edi
call fcn.10061948
mov edx, ebx
mov ecx, eax
call fcn.10061e07
mov ebx, dword [esp + 0x24]
jmp 0x1006702a
push 0x3c
jmp 0x10062f3e
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x1006244c.111
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x1006625f
cmp esi, 0xd1
jne case.default.0x1006244c
jmp 0x10065fc9
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x1006244c.115
push 2
pop edx
mov ecx, eax
call fcn.10061981
test al, al
je case.default.0x1006244c
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x48]
or ecx, eax
or dword [esp + 0xc], ecx
jmp 0x100664b1
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100665b9
cmp esi, 0x89
jne case.default.0x1006244c
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x1006702a
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
test al, 1
jne 0x10066562
mov ecx, edi
call fcn.10061948
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10061948
cmp esi, eax
jne 0x10066562
mov ecx, dword [ebp + 0x14]
call fcn.10061943
mov ecx, eax
call fcn.10061e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
mov ecx, dword [ebp + 0x14]
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061917
mov ecx, ebx
test al, al
jne 0x10067eea
call fcn.10061924
test al, al
je case.default.0x1006244c
jmp 0x1006702e
push 0x1d
jmp 0x10062f3e
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
and dword [esp + 0x2c], 0
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and ecx, 7
shl eax, 4
shl ecx, 9
add ecx, esi
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp ecx, 0x249
jne 0x100665d1
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
jmp 0x10067eef
cmp ecx, 0x289
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ebx, dword [ebp + 0x14]
jmp 0x1006702a
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
jmp case.0x1006244c.122
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x2c], ecx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
xor eax, eax
or eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
cmp eax, 0x649
je 0x100665b9
cmp eax, 0x689
jmp 0x100665d7
mov ecx, dword [ebp + 0xc]
call fcn.10061bf0
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10061bf0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068692
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067eca
cmp esi, 0x51
jne case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
jmp 0x1006702a
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x1006244c.128
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x1006628b
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061943
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061943
or esi, eax
mov ecx, esi
call fcn.10061e1e
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10061e0e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068583
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp 0x100666e3
mov ecx, dword [ebp + 0x18]
call fcn.10061911
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x10067eca
cmp eax, 0x651
jmp 0x100666dd
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006685c
mov ecx, edi
call fcn.10061962
test al, al
je 0x10066808
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
mov ecx, edi
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ff
mov ecx, ebx
call fcn.10061948
mov ecx, edi
jmp 0x10067ee6
mov ecx, ebx
call fcn.10061962
test al, al
je 0x10066829
mov ecx, ebx
call fcn.10061943
push eax
lea ecx, [esp + 0x10]
call fcn.100685ff
jmp 0x10066230
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10061dac
test eax, eax
je 0x1006688f
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10061d96
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp 0x10066230
cmp esi, 0x11
jne 0x10066893
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10061dac
test eax, eax
je 0x10065fc9
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10061d96
push 0x40017e
jmp 0x100662b6
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
cmp esi, 0xa
jne case.default.0x1006244c
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10061dac
test eax, eax
je 0x10067021
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10061d96
push 0x2001d6
jmp 0x10066091
mov ecx, dword [ebp + 0xc]
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
or esi, eax
mov ecx, esi
call fcn.10061e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10066230
cmp esi, 0x11
je 0x10065fc9
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
jmp 0x10067018
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x100669af
mov ecx, dword [ebp + 0x14]
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068593
test al, al
je case.0x1006244c.93
lea ecx, [esp + 0xc]
call fcn.10061d3f
mov ecx, ebx
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ecx, dword [ebp + 0x14]
jmp 0x10067ee6
cmp esi, 0x51
je 0x100666e3
cmp esi, 0x89
jne case.default.0x1006244c
lea ecx, [esp + 0xc]
call fcn.10061d3f
jmp 0x100665dd
mov ecx, dword [ebp + 0xc]
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
or esi, eax
mov ecx, esi
call fcn.10061e1e
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x1006698e
cmp esi, 0x89
je 0x100665dd
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
mov ecx, dword [ebp + 0x14]
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x1006641b
jmp 0x10066230
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066946
cmp esi, 0x51
je 0x100666e3
cmp esi, 0x89
je 0x100669c4
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x10066a29
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x1006698e
cmp esi, 0x89
je 0x100665dd
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
cmp esi, 9
je 0x100667fa
jmp 0x10067018
mov ecx, dword [ebp + 0xc]
call fcn.10061943
mov ecx, ebx
mov esi, eax
call fcn.10061943
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009c550]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100665b9
cmp esi, 0x89
je 0x100665dd
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
cmp esi, 0x4a
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
jmp 0x10067028
mov eax, dword [ebx]
xor ecx, ecx
and al, 7
cmp al, 2
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100665b9
cmp esi, 0x89
je 0x100665dd
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10061d96
mov ecx, dword [esp + 0x38]
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
lea ecx, [esp + 0xc]
call fcn.10061cdf
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061a0a
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10066c00
mov ecx, edi
call fcn.10061948
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067edf
cmp esi, 0xd1
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100666f8
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066c67
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10066266
cmp esi, 0x11
jmp 0x10066c06
cmp esi, 0xd1
jne case.0x1006244c.146
lea ecx, [esp + 0xc]
call fcn.10061d48
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
jmp 0x10066ce2
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10066ccc
mov ecx, ebx
call fcn.10061943
cmp eax, 8
je 0x10066ccc
xor eax, eax
jmp 0x10066cd0
mov eax, dword [esp + 0x48]
or dword [esp + 0xc], eax
xor eax, eax
mov edx, dword [ebp + 0x14]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 4
mov ecx, dword [edx + 0xc]
mov byte [esp + 0x30], al
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
je 0x10066c58
cmp esi, 0xd1
jne case.default.0x1006244c
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x1006702e
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10061943
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009c550]
or dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, dword [esp + 0x34]
cmp eax, 0x249
jne 0x10066d74
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
shl eax, 4
and dword [esp + 0x2c], 0
jmp 0x100660e1
cmp eax, 0x449
jne 0x10066dc7
lea ecx, [esp + 0xc]
call fcn.10061d3f
mov ecx, ebx
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061948
shl eax, 4
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006702e
cmp eax, 0x289
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10066da3
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea eax, [ecx + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
and eax, 7
cmp al, 3
jne case.default.0x1006244c
call fcn.10061911
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10061943
mov ecx, edi
mov esi, eax
call fcn.10061943
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10061943
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10061943
or eax, esi
mov ecx, eax
call fcn.10061e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10061da1
mov ecx, dword [esp + 0x50]
call fcn.1006190e
mov ecx, eax
call fcn.1006857a
and al, 0xf
movzx eax, al
cdq
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x40]
cmp eax, 0x249
jne 0x10066eca
mov ecx, ebx
call fcn.10061948
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061948
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10061948
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x1006244c.93
cmp eax, 0x449
jne 0x10066f0e
lea ecx, [esp + 0xc]
call fcn.10061d3f
mov ecx, ebx
call fcn.10061948
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061948
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x1006702e
cmp eax, 0x289
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10066ef9
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100665b9
cmp esi, 0x11
je 0x10065fc9
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, eax
call fcn.10061e4a
push eax
lea ecx, [esp + 0x10]
call fcn.10061d80
jmp 0x10067021
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009c550]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10066d74
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
shr eax, 8
test dl, al
jne 0x10066fe2
lea ecx, [esp + 0xc]
call fcn.10061d3f
mov ecx, dword [ebp + 0x18]
call fcn.10061948
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061948
jmp 0x10066d67
mov ecx, dword [ebp + 0x14]
call fcn.10061948
mov ecx, dword [ebp + 0x18]
jmp 0x10066fd4
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006244c
mov ecx, edi
call fcn.10061948
mov dword [esp + 0x14], eax
jmp case.0x1006244c.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x10066421
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006244c
mov ecx, ebx
call fcn.10061948
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10061911
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619cb
mov ecx, ebx
movzx eax, byte [eax + 0x1009c148]
mov dword [esp + 0x48], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061cdf
push eax
lea ecx, [esp + 0x20]
call fcn.10061ecd
lea ecx, [esp + 0x1c]
call fcn.10061a21
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10061d03
test dword [esp + 0x48], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100685c6
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619ad
test al, al
je 0x100670b6
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619bb
test al, al
je 0x100670dc
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619d6
mov dword [esp + 0x24], eax
jmp 0x100670e1
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061cf0
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10061948
mov edx, dword [esp + 0x24]
mov ecx, edx
push dword [esp + 0x20]
shl esi, 4
and ecx, 0x10
or eax, esi
and edx, 8
mov esi, dword [esp + 0x18]
add eax, eax
or eax, ecx
and esi, 0xf98
shl eax, 0xb
lea ecx, [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x1c]
add esi, esi
and eax, 8
or esi, edx
add esi, esi
or esi, eax
shl esi, 2
call fcn.10061d6a
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x38], eax
call fcn.10061a21
mov ecx, eax
call fcn.10061acb
mov edx, 0x400000
mov ecx, eax
call fcn.10061d07
mov esi, dword [esp + 0x38]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x38], esi
call fcn.10061ad0
mov edx, 0x80000
mov ecx, eax
call fcn.10061ad0
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10068593
test al, al
je 0x100671d4
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10061ad0
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068593
test al, al
jne 0x10067f98
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10061ad5
or esi, eax
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
call fcn.10061d24
test al, al
je 0x1006720e
test esi, 0x80df8110
jne 0x1006721a
mov edx, 0x400
mov ecx, 0x800
call fcn.10061ad0
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068593
test al, al
jne 0x1006720e
or esi, 0x10
mov dword [esp + 0x38], esi
test esi, 0x80df8110
je 0x10067372
push 4
lea ecx, [esp + 0x10]
call fcn.10061dbd
mov edx, dword [esp + 0x38]
mov esi, eax
mov ecx, edx
and esi, 0x800000
and ecx, 0x8000
shl ecx, 4
or ecx, edx
and edx, 0x100
and ecx, 0xffff78ef
shl ecx, 4
or ecx, edx
shl ecx, 4
or esi, ecx
lea ecx, [esp + 0xc]
push 5
call fcn.10061dbd
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x34], eax
test eax, 0x10000000
je 0x10067323
mov ecx, dword [esp + 0x44]
call fcn.10061d2a
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.1006190e
mov ecx, eax
call fcn.10061cfa
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x1006731c
mov esi, dword [esp + 0x34]
mov ecx, edx
mov eax, esi
mov dword [esp + 0x50], 4
and eax, 0x60000000
mov dword [esp + 0x6c], eax
call fcn.100686e4
lea edx, [esp + 0x50]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
call fcn.10068583
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x38], eax
cmp eax, 0x40000000
ja 0x1006731c
lea edx, [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.10068583
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10061d96
mov ecx, dword [esp + 0x5c]
call fcn.100686e4
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.10061da1
jmp 0x10067363
push 0x29
jmp 0x10067cd7
push 0x19
lea ecx, [esp + 0x10]
call fcn.10061dbd
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.10061dbd
mov ecx, dword [esp + 0x34]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009c018]
lea ecx, [esp + 0x10]
call fcn.10061d34
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0x20]
call fcn.100685b8
jmp 0x1006741c
push 0xd
lea ecx, [esp + 0x10]
call fcn.10061dbd
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.10061dbd
mov ecx, dword [esp + 0x38]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x38]
or esi, eax
call fcn.10061e3e
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10061d96
test esi, 0x8000807e
je 0x100673f8
push 0x18
lea ecx, [esp + 0x10]
call fcn.10061db5
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c0e8]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.100685b8
jmp 0x10067429
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100685ab
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100685ab
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.10061d10
test al, al
jne 0x10067ade
mov eax, dword [esp + 0x48]
test al, 0x42
jne 0x100679d7
test al, 1
je 0x100675e2
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10061e29
pop ecx
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.10061d1c
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x100674fd
test al, al
jne 0x100674fd
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x100674a7
test ebx, ebx
jne 0x100674a7
push esi
jmp 0x1006752c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061dac
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.100686a0
test al, al
je 0x100674e7
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x100674e7
lea eax, [esi + 0x40]
jmp 0x10067591
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push ebx
jmp 0x100679c9
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x1006753a
cmp dword [esp + 0x54], 0
jne 0x1006753a
push esi
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x10065451
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061dac
mov ecx, eax
mov eax, dword [esp + 0x54]
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.100686a0
test al, al
je 0x100675b1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x100675b1
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, dword [esp + 0x34]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.100685ab
jmp 0x10065451
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x54]
jmp 0x100679c9
test al, 0x30
jne 0x10067921
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061cbc
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10061ae8
test al, al
je 0x10067636
cmp esi, 2
je 0x10064756
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061e29
jmp 0x1006790d
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], esi
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061ae4
mov ecx, eax
call fcn.10061a8f
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x1006773f
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10067704
cmp dword [esp + 0x34], esi
je 0x100678e8
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10067748
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x100678e8
cmp dword [esp + 0x54], 0x17e
jne 0x100678dc
movzx eax, al
test al, 0x40
je 0x100678e8
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x100678e8
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10068593
test al, al
jne 0x100678e8
push ebx
lea ecx, [esp + 0x20]
call fcn.10061ba9
jmp 0x100678e8
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061cdf
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10067730
cmp dword [esp + 0x34], esi
je 0x1006772b
cmp dword [esp + 0x44], 0
jne 0x10067730
xor eax, eax
inc eax
jmp 0x10067732
xor al, al
cmp ecx, 5
jae 0x1006781d
test al, al
jmp 0x10067742
cmp eax, 2
jne 0x1006781d
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.10061b84
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
push 0
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x4c]
pop eax
adc eax, edx
and ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
cmp ecx, 0xffffffff
je 0x1006783a
mov ecx, dword [edi + 0x68]
call fcn.10061a21
test eax, eax
jne 0x1006783a
mov ecx, dword [edi + 0x68]
call fcn.10061a24
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x5c]
mov ecx, ebx
adc edi, dword [esp + 0x6c]
add esi, dword [esp + 0x48]
adc edi, dword [esp + 0x38]
add esi, 5
adc edi, 0
call fcn.1006190e
mov ecx, eax
call fcn.100619ef
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10068557
pop ecx
pop ecx
test al, al
je 0x100677ff
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.100685b8
jmp 0x100625e3
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061cc5
mov edi, dword [esp + 0x10]
test al, al
jne 0x10064756
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x34], esi
je 0x100678e8
mov eax, dword [esp + 0x44]
test eax, eax
je 0x100676a8
push 0x2e
jmp 0x10067cd7
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.10069258
test eax, eax
jne 0x10062315
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, dword [edi + 0x68]
call fcn.10061a21
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10061b17
mov ecx, dword [esp + 0x4c]
push 4
push 0
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.10061a30
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061b84
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061a55
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.100619ef
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.100686af
jmp 0x10065451
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.100686ba
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push dword [esp + 0x24]
jmp 0x100679c9
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, edi
call fcn.10061ae8
test al, al
jne 0x10067c76
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
test byte [esp + 0x48], 0x10
mov esi, eax
je 0x100679c8
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061a96
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10067cd5
mov eax, dword [esp + 0x3c]
push 0xfffffffffffffffc
movzx eax, al
pop ecx
sub ecx, eax
lea eax, [edi + 0x68]
push dword [eax]
add esi, ecx
mov dword [esp + 0x48], eax
mov ecx, ebx
mov dword [esp + 0x38], esi
call fcn.10061a77
test al, al
je 0x10063d2b
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10061b84
mov ecx, ebx
sub esi, eax
call fcn.10061a84
add eax, esi
push eax
jmp 0x100679c9
push esi
lea ecx, [esp + 0x20]
call fcn.100685b8
jmp 0x10065451
test al, 0x40
jne 0x100679ef
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10067aee
push 0x2c
jmp 0x10067cd7
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
movsx edx, ax
mov eax, dword [esp + 0x48]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x34], edx
mov dword [esp + 0x5c], ecx
je 0x10067ab3
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 3
jne 0x10067a57
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061ce8
test eax, eax
jne 0x10064756
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov al, byte [esi + eax*8 + 0x1009c590]
jmp 0x10067a67
test al, 2
je 0x10067a61
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009c098]
movzx ecx, al
cmp ecx, 0xff
je 0x10064756
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067a8a
cmp esi, 6
jne 0x100674a1
mov ecx, edx
call fcn.100686a0
lea ecx, [esp + 0x1c]
test al, al
je 0x10067aab
lea eax, [esi + 0x40]
push eax
call fcn.100685ab
push dword [esp + 0x34]
jmp 0x1006752c
lea eax, [esi + 0x80]
jmp 0x10067ac6
test al, 0x30
jne 0x10064756
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.100685ab
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.100686d4
jmp 0x10065451
mov eax, dword [esp + 0x48]
test al, 2
je 0x1006263d
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x10067bd8
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x38], eax
call fcn.10061e29
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.1006190e
mov ecx, eax
call fcn.10061ce8
mov edx, esi
mov ecx, eax
call fcn.10061e29
mov esi, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x44], ebx
pop ecx
test esi, esi
jne 0x10067b67
cmp dword [esp + 0x18], 5
je 0x10067b67
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
push eax
call fcn.100685ab
push ebx
jmp 0x1006752c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061dac
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.100686a0
test al, al
je 0x10067bba
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x34]
shl eax, cl
cmp ebx, eax
jne 0x10067bbe
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.100685ab
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x100674a1
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.100685ab
push dword [esp + 0x40]
jmp 0x100674ee
test al, 0x30
jne 0x10067c2b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push 5
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061ce8
mov edx, esi
mov ecx, eax
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
jmp 0x100679c5
mov ecx, edi
call fcn.10061ae8
test al, al
je 0x10064756
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
push 5
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061ce8
mov edx, esi
mov ecx, eax
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10061a8b
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10068514
test eax, eax
jne 0x10067eb1
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061a06
test byte [esp + 0x48], 0x10
mov dword [esp + 0x40], eax
je 0x10067e0b
mov ecx, ebx
call fcn.1006190e
mov ecx, eax
call fcn.10061948
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061a96
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x10067cdd
push 0xc
pop ecx
jmp 0x10067eb4
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069258
test eax, eax
jne 0x10062315
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x44], eax
call fcn.10061a21
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10061b17
mov ecx, dword [esp + 0x4c]
push 4
pop ebx
push ebx
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x50]
push 1
lea ecx, [ecx + 8]
call fcn.10061a30
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
movzx eax, al
push eax
push dword [edi + 0x74]
mov dword [esp + 0x64], eax
call fcn.10061b84
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061a55
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, esi
call fcn.10061a6f
test al, al
je 0x10067d9b
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10061a84
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10061a6b
mov ecx, eax
call fcn.10061a21
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x100678cc
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10061b84
push ebx
push 0
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.10061a30
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x38]
mov ecx, dword [ecx]
push esi
call fcn.10061a21
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.10068e7b
mov esi, eax
test esi, esi
je 0x10067eb1
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10067dfc
call fcn.10061a21
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10061b8d
jmp 0x10065451
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069258
test eax, eax
jne 0x10062315
mov ecx, dword [edi + 0x68]
call fcn.10061a21
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10061a21
mov ecx, dword [esp + 0x4c]
push 4
push 1
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.10061a30
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.10061b84
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061a55
mov ecx, edi
call fcn.10061b17
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], ebx
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + 8]
call fcn.10061a2b
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x40]
cdq
push ebx
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
mov dword [ecx + 0x20], eax
adc edx, ebx
mov dword [ecx + 0x24], edx
jmp 0x100678ce
xor ecx, ecx
inc ecx
call fcn.1006190e
jmp 0x10062315
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x1006244c
mov ecx, dword [ebp + 0x14]
call fcn.10061948
mov ecx, edi
mov esi, eax
call fcn.10061948
mov edx, esi
mov ecx, eax
call fcn.10061e07
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061948
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
and eax, 0xf98
push 7
mov esi, dword [edi + 0x4c]
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x1c]
and eax, 0x18
shl esi, 2
or esi, eax
mov eax, ecx
and eax, 0x1000
shl esi, 2
or eax, dword [esp + 0x10]
shr eax, 8
and eax, 0x60001f
pop ebx
and dword [esp + 0x14], ebx
or esi, eax
test ecx, 0x8c0000
je 0x10067fab
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10067fab
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x10067f68
test byte [eax + 4], 0x70
jne 0x10067f98
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x10067f90
shr edx, 2
test dl, 1
je 0x10067f98
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10067fa5
shr edx, 3
test dl, 1
jne 0x10067f9f
push 0x2a
jmp 0x10065ea8
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x10067fcb
test ecx, esi
jne 0x10067fd3
test dword [esp + 0x20], 0xc00
jne 0x10067fcb
or esi, 0x10
test ecx, esi
je 0x10068066
mov eax, dword [esp + 0xc]
mov edx, esi
and edx, 0x8000
mov ecx, eax
and eax, dword [esp + 0x48]
shl edx, 4
or edx, esi
shr ecx, 1
and edx, 0xffff78ef
and ecx, 0x8300000
shl edx, 4
and esi, 0x100
or edx, esi
or ecx, eax
shl edx, 4
shr ecx, 4
or edx, ecx
lea ecx, [esp + 0x1c]
xor edx, 0x87cf062
push edx
call fcn.100685b8
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0xc]
mov byte [ecx], al
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
shl cl, 3
and edx, ebx
sub cl, 0x40
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
add cl, dl
mov byte [eax], cl
inc dword [esp + 0x1c]
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061ee7
jmp 0x100625fc
mov eax, dword [esp + 0xc]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, dword [esp + 0x48]
and edx, 0x300000
or edx, ecx
mov ecx, esi
and ecx, 0x200000
shr edx, 1
or edx, ecx
mov ecx, dword [esp + 0x20]
and ecx, 0xfffffc00
shr edx, 0xb
shl ecx, 0x15
or edx, ecx
or esi, edx
test esi, 0x8000803e
je 0x100680e4
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c0e8]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.100685b8
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x18]
shl cl, 3
and eax, ebx
sub cl, 0x40
mov dword [esp + 0x18], eax
add cl, al
mov eax, dword [esp + 0x1c]
jmp 0x10068046
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100685ab
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100685ab
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100685ab
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
and eax, ebx
push eax
push 3
pop ecx
mov dword [esp + 0x1c], eax
call fcn.10061e29
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100685ab
jmp 0x1006804c
mov edi, eax
jmp 0x1006263d