Function at 0x10062567
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 + 0x100a13e0]
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 + 0x100a0600]
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 0x1006282d
cmp dword [eax + 0x2c], 0
jne 0x10062636
push 0
push 5
mov ecx, eax
jmp 0x10062767
cmp dword [esp + 0x54], 0
je 0x1006857c
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10061f5e
test eax, eax
jne 0x10062751
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x10062702
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 0x10062755
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a13e0]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a0600]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x100627e5
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 0x10062775
cmp dword [esp + 0x24], 0
jne 0x1006277c
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.1006e78e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x100627da
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x1006279a
mov eax, dword [esp + 0x48]
shr eax, 0x11
test dl, al
jne 0x1006279a
push 0x22
jmp 0x10062750
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x100627b4
mov eax, dword [esp + 0x48]
shr eax, 0x12
test dl, al
jne 0x100627b4
push 0x23
jmp 0x10062750
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 0x100627de
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x1006282d
mov eax, dword [esp + 0x48]
shr eax, 0xe
test dl, al
je 0x10062893
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10062815
shr eax, 8
test al, 0xf
jne 0x10062893
cmp dword [ecx + 0x4c], edx
jne 0x10062893
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 + 0x100a13e6]
mov ecx, dword [eax*4 + 0x100a49f8]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a13e5]
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.0x1006288c
mov edi, dword [esp + 0x40]
mov dword [esp + 0x48], 0x8000000
jmp dword [edi*4 + 0x10068583]
push 0x24
jmp 0x10062750
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 + 0x1009c068]
lea ecx, [esp + 0x20]
push eax
call fcn.100689d9
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 0x100662e2
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.100622b5
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 0x10062a23
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x1006288c
lea ecx, [esp + 0xc]
call fcn.10062191
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x1006288c.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061d9a
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009c0d0]
call fcn.10062143
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068a06
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c068]
lea ecx, [esp + 0x20]
push eax
call fcn.100689d9
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x100662e2
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.100622b5
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.1006235f
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.10062002
xor eax, eax
jmp 0x1006276c
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006288c.1
cmp esi, edx
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
test eax, eax
je case.0x1006288c.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x100662e8
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006288c.1
cmp esi, 9
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
cmp eax, 2
jne case.default.0x1006288c
mov ecx, ebx
jmp 0x10062a6c
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006288c.1
cmp esi, 2
jne case.default.0x1006288c
xor edx, edx
mov ecx, edi
call fcn.1006221b
test al, al
je case.default.0x1006288c
mov esi, edi
mov ecx, esi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e0b
mov ecx, esi
movzx ebx, byte [eax + 0x1009c0d0]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e1a
test al, al
jne case.default.0x1006288c
test bl, 2
jne case.default.0x1006288c
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062296
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006219a
mov edi, eax
mov ecx, edi
call fcn.10062274
test al, al
jne 0x100662e2
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.100689d9
mov ecx, esi
call fcn.10061d4e
mov ecx, eax
call fcn.1006211f
push eax
lea ecx, [esp + 0x20]
call fcn.1006230d
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062143
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068a06
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100622b5
xor eax, eax
push eax
push eax
push eax
jmp 0x1006589d
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10062ba9
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x1006288c.1
cmp esi, 0x19
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
mov ecx, ebx
jmp 0x10062b87
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x1006288c.11
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
xor edx, edx
inc edx
jmp case.0x1006288c.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b73d0]
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.0x1006288c.63
mov ebx, edi
cmp esi, 2
je 0x10062c4d
jmp case.default.0x1006288c
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x1006288c.14
push 2
pop edx
mov ecx, ebx
call fcn.100620c9
test al, al
je case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100620c9
test al, al
je case.default.0x1006288c
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10061d51
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100621ec
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e0b
mov ecx, ebx
movzx eax, byte [eax + 0x1009c0d0]
mov dword [esp + 0x48], eax
call fcn.10061d4e
mov ecx, eax
call fcn.1006211f
push eax
lea ecx, [esp + 0x20]
call fcn.1006230d
lea ecx, [esp + 0x1c]
call fcn.10061e61
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10062143
test dword [esp + 0x48], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10068a06
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062296
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e16
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.1006219a
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.10062274
test al, al
jne 0x100662e6
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100689d9
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.100622b5
jmp 0x1006787f
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006288c
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x1006288c.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.100621c0
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x10062daf
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, edi
jmp 0x10063c6a
cmp esi, 2
jne 0x10062dca
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp 0x10062c4b
mov ecx, ebx
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
cmp esi, 9
je 0x10062da8
cmp esi, 0xa
jmp 0x10062d69
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e0b
mov ecx, edi
movzx ebx, byte [eax + 0x1009c0d0]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e1a
test al, al
jne case.default.0x1006288c
test bl, 2
jne case.default.0x1006288c
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062296
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006219a
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.10062274
test al, al
jne 0x100662e2
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100689d9
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10061d4e
mov ecx, eax
call fcn.1006211f
push eax
lea ecx, [esp + 0x20]
call fcn.1006230d
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062143
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068a06
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100622b5
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x10062b73
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10062f31
push 2
pop edx
mov ecx, ebx
call fcn.100620c9
test al, al
je case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100620c9
test al, al
je case.default.0x1006288c
jmp 0x10062da8
cmp esi, edx
jne case.default.0x1006288c
mov ecx, edi
call fcn.10062050
jmp 0x10062f24
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006288c
jmp 0x10062da8
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b73d0]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062f80
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10063c6f
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov dword [esp + 0x14], eax
jmp 0x10062c4d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062fe9
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 2
jne 0x10062fd3
push 0x66
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp case.0x1006288c.63
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a3f
jmp case.0x1006288c.63
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 2
jne 0x10063019
push 0x66
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x10062c4d
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a3f
jmp 0x10062c4d
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b73d0]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063061
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x1006288c.63
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov dword [esp + 0x14], eax
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006317e
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne 0x10065784
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne 0x1006314b
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10063106
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
push 4
pop ecx
jmp 0x10063114
mov edx, esi
call fcn.10061f1a
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006313b
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
jmp 0x1006314b
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10061f1a
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.100689d3
test al, al
je case.0x1006288c.63
push 2
lea ecx, [esp + 0x10]
call fcn.10062174
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10039107
jmp case.0x1006288c.63
cmp esi, 0x11
jne 0x100631fd
push 2
lea ecx, [esp + 0x10]
call fcn.10062174
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne 0x10062c4d
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100631e9
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x10062c4d
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x14], 4
jmp 0x10062c4d
cmp esi, 0xa
jne 0x1006326e
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, ebx
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne 0x10062c4b
mov ecx, ebx
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x1006325a
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x10062c4b
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x14], 4
jmp 0x10062c4b
push 0x80
lea ecx, [esp + 0x10]
call fcn.100621c0
cmp esi, 0x19
jne 0x10063497
mov ecx, edi
call fcn.10061d83
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov ecx, dword [esp + 0x44]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x10063303
mov ecx, edi
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x100632e5
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x100632f4
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x54], edx
mov byte [esp + 0x30], dl
jmp 0x10063405
push 4
pop eax
cmp ecx, 2
jne 0x1006331e
push 0x200000
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp 0x100633b5
cmp ecx, eax
jne 0x1006333b
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068a55
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100633b5
cmp ecx, 8
jne 0x100633b8
cmp dword [esp + 0x54], 0x15
jne 0x1006335e
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068a5b
mov byte [esp + 0x63], bl
pop ecx
pop ecx
test al, al
jne 0x10063363
mov byte [esp + 0x5b], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068997
pop ecx
pop ecx
test al, al
jne 0x10063389
cmp byte [esp + 0x5b], al
jne 0x1006339e
push 0x32
pop ecx
call fcn.10061d4e
jmp 0x10062751
cmp byte [esp + 0x5b], 0
je 0x100633a7
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10061f4a
test al, al
je 0x100633a7
push 4
pop eax
mov dword [esp + 0x44], eax
jmp 0x100633ab
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10068a3f
push 4
pop eax
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
call fcn.100689cb
push dword [esp + 0x2c]
mov dword [esp + 0x58], eax
push dword [esp + 0x2c]
mov byte [esp + 0x38], al
call fcn.10068971
pop ecx
pop ecx
test al, al
je 0x10063401
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
mov edx, dword [esp + 0x54]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x100632f6
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x18], 0
jne 0x10063471
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x10063418
cmp dl, bl
je 0x10063479
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
jne 0x10063471
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100621d6
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.100621e1
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x44]
call fcn.100689cb
mov byte [esp + 0x30], al
jmp case.0x1006288c.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.10062174
jmp case.0x1006288c.63
cmp esi, 0x1a
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065694
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.100689cb
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp dword [esp + 0x34], ebx
jne 0x10063501
push dword [esp + 0x2c]
push esi
call fcn.10068a55
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068971
pop ecx
pop ecx
test al, al
je 0x10063539
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
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 0x1006353c
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.10062174
push dword [esp + 0x34]
jmp 0x10062dbc
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
cmp eax, 1
je case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov edi, dword [esp + 0x10]
jmp 0x10065824
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x100635cd
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, ebx
call fcn.10061d88
mov dword [esp + 0x14], eax
jmp 0x10062da8
cmp esi, 0xa
jne 0x100635e6
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp 0x1006306a
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
lea ecx, [esp + 0xc]
call fcn.1006211f
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10062da8
cmp esi, 0x1a
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
test eax, eax
je 0x10065694
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062da8
mov ebx, edi
cmp esi, 2
je 0x10062c4d
push 0xe8
lea ecx, [esp + 0x10]
call fcn.100621c0
and dword [esp + 0x14], 0
jmp 0x10063f95
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x100636b7
mov ecx, dword [ebp + 0x14]
call fcn.10061da2
test al, al
je case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
and esi, 0x3f
cmp esi, 9
jne 0x10063776
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne 0x10065784
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne case.0x1006288c.63
mov ecx, edi
call fcn.10062020
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x1006373e
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
jmp 0x1006374a
mov edx, esi
call fcn.10061f1a
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x100654f0
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
jmp case.0x1006288c.63
cmp esi, 0xa
jne case.default.0x1006288c
jmp 0x10063202
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10062d66
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10061d57
test al, al
je case.default.0x1006288c
lea ecx, [ebx + 0x10]
call fcn.10061d57
jmp 0x10062c43
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 0x1006384c
mov ecx, ebx
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 1
jne 0x10063825
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006380e
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006381c
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x1006288c.63
mov ecx, ebx
call fcn.10061d83
cmp eax, 2
jne 0x1006383c
push 0x66
lea ecx, [esp + 0x20]
call fcn.100689eb
push 1
lea ecx, [esp + 0x10]
call fcn.10062174
jmp case.0x1006288c.63
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
test eax, eax
je 0x10065694
mov ecx, ebx
call fcn.10061d83
cmp eax, 2
jne 0x1006387b
push 0x66
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, ebx
call fcn.10061d83
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.10062174
jmp 0x10062c4d
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.100689be
mov ecx, ebx
mov di, ax
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
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.0x1006288c.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10063989
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.10068971
pop ecx
pop ecx
test al, al
je 0x10063954
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
je 0x10063977
push 2
lea ecx, [esp + 0x10]
call fcn.100621cb
mov ecx, edi
call fcn.10061d83
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061d88
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10063c6a
cmp esi, 0xd1
jne 0x10063a47
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.10061d83
cmp eax, 4
jne 0x100639f4
push dword [esp + 0x2c]
push esi
call fcn.10068a55
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068971
pop ecx
pop ecx
test al, al
je 0x10063a1b
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
je 0x10062f89
push 2
lea ecx, [esp + 0x10]
call fcn.100621cb
mov ecx, edi
call fcn.10061d83
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062f89
cmp esi, 9
jne 0x10063aae
mov ecx, ebx
call fcn.10061d83
cmp eax, 1
je 0x10063bba
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne 0x10065784
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp case.0x1006288c.63
cmp esi, 0x11
jne 0x10063af2
mov ecx, ebx
call fcn.10061d83
cmp eax, 1
je 0x10063c1f
mov ecx, edi
call fcn.10061d88
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp 0x10062c4d
cmp esi, 0x19
jne case.0x1006288c.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.10061d83
cmp eax, 4
jne 0x10063b53
push ebx
push esi
call fcn.10068a55
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068971
pop ecx
pop ecx
test al, al
je 0x10063b76
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
je 0x10063b99
push 2
lea ecx, [esp + 0x10]
call fcn.100621cb
mov ecx, edi
call fcn.10061d83
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061d88
mov dword [esp + 0x18], eax
jmp 0x10063058
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x1006288c.12
cmp esi, 9
jne 0x10063c1a
xor edx, edx
mov ecx, edi
call fcn.100620b0
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10062040
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x10063c06
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x10063766
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x18], 4
jmp case.0x1006288c.63
cmp esi, 0x11
jne 0x10063c39
xor edx, edx
mov ecx, edi
call fcn.100620b0
mov edi, dword [esp + 0x10]
test al, al
je 0x10062a7d
jmp 0x10062c51
cmp esi, 0x49
jne 0x10063c78
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
mov dword [esp + 0x18], eax
jmp case.0x1006288c.63
cmp esi, 0x89
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ebx, dword [ebp + 0x14]
jmp 0x10062c4d
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063cef
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 1
jne case.0x1006288c.63
mov ecx, edi
jmp 0x10063be7
cmp esi, 2
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
test eax, eax
je 0x10065694
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x10063d8e
mov ecx, edi
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061d83
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.1006228a
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a6f
jmp case.0x1006288c.1
cmp esi, 9
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
cmp eax, 2
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10062174
jmp 0x10063d78
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006288c
push 7
pop edx
mov ecx, edi
call fcn.1006221b
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
cmp eax, 2
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov ebx, eax
test ebx, ebx
je 0x10065694
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10062174
push ebx
lea ecx, [esp + 0x10]
call fcn.10068a6f
jmp 0x10062ac3
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063cef
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 1
jne 0x10063e5b
mov eax, dword [edi]
jmp 0x100637eb
mov ecx, dword [esp + 0x10]
call fcn.10061f28
test al, al
je 0x10063e7f
mov ecx, dword [esp + 0x38]
call fcn.1006228a
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x10063d6e
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
jmp case.0x1006288c.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
jmp 0x10062b97
push 0x40
mov edx, 0x80
pop ecx
call fcn.10061f10
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100689d3
mov edi, dword [ebp + 0xc]
test al, al
je 0x10063f04
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10061f4a
test al, al
je 0x10063f04
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.100689d3
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.100689eb
mov ebx, edi
jmp 0x1006367f
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061d57
test al, al
je 0x10063f04
xor edx, edx
mov ecx, edi
inc edx
call fcn.10061dc1
test al, al
je case.default.0x1006288c
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10061f28
test al, al
je 0x10063f46
mov ecx, edi
call fcn.10061d83
cmp eax, 2
je 0x10063f5d
mov ecx, esi
call fcn.10061f2e
test al, al
je 0x10063f61
mov ecx, edi
call fcn.10061d83
cmp eax, 4
jne 0x10063f61
mov al, 1
jmp 0x10063f63
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10068a06
jmp 0x1006367f
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062da8
mov ebx, edi
cmp esi, 2
je 0x10062c4d
push 0xe9
jmp 0x10063676
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 0x100662e6
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 + 0x100a47d8]
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 0x1006418a
call fcn.10061d4e
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061eef
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068115
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x48], esi
call fcn.10061eb7
test al, al
je 0x100640c5
mov ecx, ebx
call fcn.10061ec4
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.10068ae0
test al, al
je 0x10064234
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x10064234
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
jne 0x10064234
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10061f1a
push ebx
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x10062a3c
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x100640ef
cmp dword [esp + 0xc], 0
je 0x10064173
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.100689d3
test al, al
jne 0x10064173
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x44], esi
je 0x1006422d
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.100689d3
test al, al
jne 0x1006422d
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.100621ec
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100689d9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100689eb
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.100689d9
mov dword [esp + 0x34], 0xfffffffc
push 4
pop ebx
jmp 0x100681e6
push ebx
lea ecx, [esp + 0x20]
call fcn.100689eb
or dword [esp + 0x34], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x100681e6
call fcn.10061d6e
test al, al
je 0x10062a7d
mov ecx, edi
call fcn.10061f24
mov ecx, eax
call fcn.10061ecf
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x100642c2
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.10061f36
mov cl, al
call fcn.10061e53
test al, al
jne 0x10064065
push dword [esp + 0x40]
push esi
call fcn.10068997
pop ecx
pop ecx
test al, al
jne 0x10064065
mov ecx, dword [esp + 0x54]
call fcn.10062208
test al, al
jne 0x100642be
push 0x30
jmp 0x10068117
cmp dword [esp + 0xc], 0
je 0x1006422d
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.100689d3
test al, al
jne 0x1006422d
push 0x10
pop ecx
call fcn.10061f0b
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10061f1f
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.100621ec
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100689d9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100689eb
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.100689d9
push esi
lea ecx, [esp + 0x20]
call fcn.100689f8
jmp 0x10062a3c
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.10069698
test eax, eax
jne 0x10062755
mov ecx, edi
call fcn.10061f57
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10061e61
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 0x100643f7
mov ecx, edi
call fcn.10061f36
mov cl, al
call fcn.10061e59
test al, al
je 0x1006436d
mov ecx, dword [esp + 0x54]
call fcn.10062208
test al, al
je 0x1006436d
cmp dword [esp + 0x50], 0
jne 0x1006434a
push 0x40
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x34]
call fcn.100691b2
test eax, eax
jne 0x10062755
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.100621ec
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100689d9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100689eb
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.100689d9
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10061e70
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061fc4
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061e95
push ebx
lea ecx, [esp + 0x20]
call fcn.10068aef
jmp 0x10062a3c
push esi
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10061e70
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061fc4
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061e95
push ebx
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x10062a3c
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x1006448c
mov ecx, edi
mov ebx, edi
call fcn.10061d83
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x10064461
mov ecx, edi
call fcn.10061f3a
mov esi, eax
jmp 0x1006447d
sub esi, 2
cmp esi, 2
je 0x1006447d
cmp esi, 4
je 0x1006447d
mov ecx, edi
call fcn.10061f3a
cmp esi, eax
jne 0x10064b96
push esi
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp 0x10062c51
cmp esi, 0x1b
jne case.default.0x1006288c
mov ecx, dword [esp + 0x10]
call fcn.10061f28
test al, al
je case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, ebx
mov esi, eax
call fcn.10061d4e
mov ecx, esi
mov edi, eax
call fcn.10061e4a
test edx, edx
jg 0x1006337c
jl 0x100644d4
cmp eax, 0xffff
ja 0x1006337c
mov ecx, edi
call fcn.10061e4a
test edx, edx
jg 0x1006337c
jl 0x100644ee
cmp eax, 0xffffffff
ja 0x1006337c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, esi
call fcn.10061e4a
mov ecx, edi
mov esi, eax
call fcn.10061e4a
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x1006288c.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp 0x10062f89
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064750
mov ecx, edi
call fcn.10061da2
mov ecx, edi
test al, al
je 0x100646e2
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061da2
test al, al
je 0x10064640
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne case.default.0x1006288c
cmp esi, 1
jne 0x10064623
mov ecx, edi
call fcn.10062020
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100645d3
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
jmp 0x100645df
mov edx, esi
call fcn.10061f1a
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x10064604
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
jmp 0x10064610
mov edx, esi
call fcn.10061f1a
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x1006314b
push 0x89
lea ecx, [esp + 0x10]
call fcn.100621c0
push esi
lea ecx, [esp + 0x10]
call fcn.10068a15
jmp 0x1006314b
mov ecx, ebx
call fcn.10062080
test al, al
je 0x10064673
push 0x8c
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
dec dword [esp + 0x14]
jmp case.0x1006288c.63
mov ecx, ebx
call fcn.10062090
test al, al
je 0x100646c0
push 0x120
lea ecx, [esp + 0x10]
call fcn.100621c0
test byte [esp + 0x14], 8
je case.0x1006288c.63
mov ecx, dword [esp + 0x10]
call fcn.10061f28
test al, al
je case.0x1006288c.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.100689eb
and dword [esp + 0x14], 7
jmp case.0x1006288c.63
mov ecx, ebx
call fcn.100620a0
test al, al
je case.default.0x1006288c
push 0x121
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp case.0x1006288c.63
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061da2
test al, al
je case.default.0x1006288c
mov ecx, edi
call fcn.10062080
test al, al
je 0x10064725
push 0x8e
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, ebx
jmp 0x1006465b
mov ecx, edi
call fcn.10062090
test al, al
je 0x1006473a
push 0x122
jmp 0x10064683
mov ecx, edi
call fcn.100620a0
test al, al
je case.default.0x1006288c
push 0x123
jmp 0x100646d4
cmp esi, 0x11
jne 0x10064857
mov ecx, edi
call fcn.10061d88
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10062080
lea ecx, [esp + 0xc]
test al, al
je 0x1006479d
push 0x8e
call fcn.100621c0
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
dec dword [esp + 0x14]
jmp 0x10062c4d
push 0
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
cmp dword [esp + 0x14], 0
jne 0x10064809
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061de3
test al, al
jne 0x10064809
mov ecx, ebx
call fcn.10061d4e
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10061d83
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100623b6
add esp, 0xc
test al, al
je 0x10064809
push 0xa0
lea ecx, [esp + 0x10]
call fcn.10062174
jmp 0x10064c09
mov ecx, edi
call fcn.10061d83
cmp eax, 1
jne 0x1006484d
mov ecx, edi
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x1006483e
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x1006484d
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x14], 4
push 0x8a
jmp 0x1006388a
cmp esi, 0xa
jne 0x10064960
mov ecx, ebx
call fcn.10061d88
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.10062080
lea ecx, [esp + 0xc]
test al, al
je 0x100648a6
push 0x8c
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10062c4d
push 0
call fcn.100621c0
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
cmp dword [esp + 0x14], 0
jne 0x10064909
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061de3
test al, al
jne 0x10064909
mov ecx, edi
call fcn.10061d4e
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10061d83
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100623b6
add esp, 0xc
test al, al
je 0x10064909
push 0xa2
jmp 0x100647fb
mov ecx, ebx
call fcn.10061d83
cmp eax, 1
jne 0x1006494d
mov ecx, ebx
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x1006493e
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x1006494d
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10062174
jmp 0x1006489f
cmp esi, 0x19
jne 0x10064a92
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
mov byte [esp + 0x30], al
cmp al, 1
jne 0x100649e8
mov ecx, edi
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x100649ac
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x100649bb
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006359b
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10064a3a
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
jne 0x10064a3a
push ebx
push esi
call fcn.10068a5b
pop ecx
pop ecx
test al, al
je 0x10064a5a
mov ecx, dword [esp + 0x10]
push 1
call fcn.10061f4a
test al, al
je 0x10064a5a
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.100621c0
push dword [esp + 0x30]
lea ecx, [esp + 0x10]
call fcn.10068a85
jmp 0x1006359b
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068997
pop ecx
pop ecx
test al, al
je 0x10064a3a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100621c0
and dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x1006288c.63
cmp esi, 0x1a
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065694
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.100621c0
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10068a15
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.100689cb
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10064b9d
mov ecx, edi
call fcn.10061d88
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061d8c
test al, al
je case.default.0x1006288c
cmp dword [esp + 0x14], 0
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061de3
test al, al
jne 0x10064b92
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.100620fc
cmp eax, 2
jne 0x10064c09
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x10068117
cmp esi, 0xa
jne 0x10064c4f
mov ecx, ebx
call fcn.10061d88
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100621c0
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061d8c
test al, al
je case.default.0x1006288c
cmp dword [esp + 0x14], 0
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061de3
test al, al
jne 0x10064b92
mov ecx, esi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e2f
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10061f3a
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x30], al
call fcn.10061d4e
mov ecx, eax
call fcn.1006211f
push eax
lea ecx, [esp + 0x20]
call fcn.1006230d
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x1006288c.1
cmp esi, 0x19
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10062030
test al, al
je case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100621c0
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10068a9b
jmp 0x1006359b
mov ecx, ebx
call fcn.10061d83
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10062174
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
cmp esi, 9
jne 0x10062f80
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 1
jne case.0x1006288c.63
jmp 0x100637e9
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10062030
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068aa6
jmp 0x1006306a
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, ebx
mov esi, eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061d9a
mov ecx, esi
mov bl, al
call fcn.10061d9a
cmp al, bl
jne case.default.0x1006288c
mov ecx, esi
call fcn.10061dd9
test al, al
jne case.default.0x1006288c
mov ecx, esi
call fcn.10061e1a
test al, al
jne case.default.0x1006288c
mov ecx, esi
call fcn.10062115
test al, al
je 0x10064da4
mov ecx, esi
call fcn.1006211f
cmp eax, 1
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10062c4d
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10064e10
mov ecx, ebx
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.1006228a
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.100621c0
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a6f
jmp 0x10062b85
cmp esi, 9
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
cmp eax, 2
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10062174
mov ecx, ebx
jmp 0x10063d7a
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
cmp eax, 2
jne case.default.0x1006288c
push 6
pop edx
mov ecx, ebx
call fcn.1006221b
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
mov edi, eax
test edi, edi
je 0x10065694
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10062174
push edi
jmp 0x10063e24
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064eeb
mov ecx, edi
call fcn.10062080
test al, al
je 0x10064f81
mov ecx, edi
call fcn.10061d88
cmp eax, 7
jae 0x10064f7a
push dword [eax*4 + 0x1009c0b0]
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp case.0x1006288c.1
cmp esi, 3
jne 0x10064fc5
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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.10068971
pop ecx
pop ecx
test al, al
je 0x10064f3c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
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 0x10064edd
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064fc5
mov ecx, edi
call fcn.10062080
test al, al
je 0x10064f81
mov ecx, edi
call fcn.10061d88
cmp eax, 2
je 0x10064f7a
cmp eax, 7
jae 0x10064f7a
push dword [eax*4 + 0x1009c598]
jmp 0x10064edd
push 0x31
jmp 0x1006337e
mov ecx, edi
call fcn.10061d83
cmp eax, 2
jb case.default.0x1006288c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a6f
mov ecx, edi
call fcn.10061d88
mov dword [esp + 0x14], eax
jmp 0x1006359b
cmp esi, 2
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
test eax, eax
je 0x10065694
mov ecx, edi
call fcn.10061d83
cmp eax, esi
je 0x10065002
mov ecx, edi
call fcn.10061d83
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10061f3a
cmp esi, eax
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a6f
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x1006502e
push edx
lea ecx, [esp + 0x10]
call fcn.10062174
jmp case.0x1006288c.1
cmp esi, 3
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10065069
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
jne 0x10065069
push 1
jmp 0x10065020
mov byte [esp + 0x30], 2
jmp case.0x1006288c.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10065154
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 1
jne 0x100650e1
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100650cf
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100650dd
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x100650fd
mov ecx, ebx
call fcn.10061d88
cmp eax, 1
jne case.default.0x1006288c
push 2
jmp 0x10063489
cmp esi, 0x19
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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 0x10065140
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
je case.0x1006288c.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.100621cb
mov byte [esp + 0x30], bl
jmp case.0x1006288c.63
call fcn.10061d83
test eax, eax
je 0x10065694
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
cmp esi, 0xa
jne 0x10065197
mov ecx, ebx
call fcn.10061d88
cmp eax, 1
jne case.default.0x1006288c
push 2
lea ecx, [esp + 0x10]
call fcn.10062174
jmp 0x10062c4b
cmp esi, 0x1a
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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 0x100651e0
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
je 0x10062c4b
push 0x10
lea ecx, [esp + 0x10]
call fcn.100621cb
mov al, bl
jmp 0x10064b03
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10062d66
mov ecx, edi
call fcn.10061d88
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x10065220
cmp eax, 4
jmp 0x100637fc
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x10063813
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10065272
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, ebx
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
jmp 0x10062970
cmp esi, 0xca
jne 0x100652be
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a15
mov ecx, ebx
call fcn.10061d88
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062c4d
push edx
lea ecx, [esp + 0x10]
call fcn.10062174
cmp esi, 0x49
jne 0x100652e5
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
cmp eax, 1
jne case.default.0x1006288c
mov ecx, edi
jmp 0x100635ae
cmp esi, 0x4a
jne case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
cmp eax, 1
jne case.default.0x1006288c
mov ecx, ebx
jmp 0x100635d2
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, ebx
mov esi, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
test eax, eax
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
xor edx, edx
mov ecx, eax
call fcn.10061dc1
test al, al
je case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov edi, eax
call fcn.10061d79
test al, al
je 0x10065365
mov ecx, ebx
call fcn.10061d83
cmp eax, edi
jne 0x10065784
push edi
lea ecx, [esp + 0x10]
call fcn.10068a2a
jmp 0x10062ac3
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, edi
mov esi, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
test eax, eax
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d4e
xor edx, edx
mov ecx, eax
call fcn.10061dc1
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
mov ecx, edi
mov ebx, eax
call fcn.10061d79
test al, al
je 0x100653d3
mov ecx, edi
call fcn.10061d83
cmp eax, ebx
jne 0x10065784
push ebx
jmp 0x10065366
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e0b
mov ecx, ebx
mov esi, eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e0b
cmp esi, eax
jne case.default.0x1006288c
mov ecx, edi
mov esi, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e1a
test al, al
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
mov ebx, eax
test ebx, ebx
je 0x10065694
jmp 0x100653c4
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065501
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
jne 0x10065784
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne case.0x1006288c.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x100654c3
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061f1a
push 4
pop ecx
jmp 0x100654d1
mov edx, esi
call fcn.10061f1a
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100654ec
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x10063762
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10061f1a
add dword [esp + 0x14], 4
jmp case.0x1006288c.63
cmp esi, 0xa
jne 0x1006554d
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, ebx
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne 0x10062c4b
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006325a
jmp 0x1006323d
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
lea ecx, [esp + 0xc]
call fcn.1006211f
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10065680
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d83
cmp eax, 1
jne 0x100655f5
mov ecx, edi
call fcn.10062020
lea ecx, [esp + 0x20]
test al, al
jne 0x100655c5
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061f1a
jmp 0x100655d4
mov edx, Ordinal_2
call fcn.10061f1a
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x1006562f
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061d83
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.100689cb
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x1006288c.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
jne case.0x1006288c.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, edi
call fcn.10061d83
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp case.0x1006288c.1
cmp esi, 0x1a
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
test eax, eax
jne 0x1006569b
push 0x34
jmp 0x10062750
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061d83
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
jmp 0x10064afa
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x1006288c.61
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a2a
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
cmp eax, 1
jne 0x10062c4d
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065737
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10065745
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10062c4d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100658b1
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
cmp esi, eax
je 0x1006578b
push 0x35
jmp 0x10062750
cmp esi, 1
je 0x1006548e
cmp dword [esp + 0x54], 0x668
jne 0x100658ab
cmp dword [esp + 0x14], 0
je 0x100657b4
cmp dword [esp + 0x18], 0
jne 0x100658ab
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10061f2e
test al, al
je 0x100657e2
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x100657e2
cmp esi, 4
jb 0x100657e2
cmp esi, 8
jne 0x100658ab
push 0x8000000
jmp 0x1006580d
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100689d3
test al, al
jne 0x100658ab
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10068a2a
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100621d6
push 0x90
lea ecx, [esp + 0x10]
call fcn.100621e1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062296
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006219a
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10062274
test al, al
jne 0x100662e6
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100689d9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10062174
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100622b5
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.1006235f
jmp 0x10062a3c
push esi
jmp 0x10063e87
cmp esi, 0xa
jne case.default.0x1006288c
jmp 0x10065506
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006590b
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100689d3
test al, al
je case.0x1006288c.63
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x1006316c
cmp esi, 0x11
je 0x10062f89
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x1006306a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100659da
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x10065a2d
test edx, edx
jne case.default.0x1006288c
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100621ec
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c068]
lea ecx, [esp + 0x20]
push eax
call fcn.100689d9
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.0x1006288c.0
cmp esi, 2
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.100621c0
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.100621d6
jmp 0x10062c4b
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x10065a29
cmp esi, edx
jne 0x100659da
mov ecx, edi
call fcn.10061d88
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.0x1006288c.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10065ae1
mov ecx, edi
mov ebx, edi
call fcn.10061d83
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x10065a79
push 0x1000
mov ecx, esi
call fcn.10062150
test al, al
jne 0x10062c4d
mov ecx, edi
call fcn.10061d83
cmp eax, 8
jne 0x10065a9c
push 0x2000
mov ecx, esi
call fcn.10062150
test al, al
je 0x10065a9c
push 4
jmp 0x1006388a
mov ecx, edi
call fcn.10061d83
cmp eax, 0xa
jne case.default.0x1006288c
push 0x800
mov ecx, esi
call fcn.10062150
test al, al
je case.default.0x1006288c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
lea ecx, [esp + 0xc]
call fcn.1006211f
jmp 0x10062f90
cmp esi, edx
jne case.default.0x1006288c
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10065b05
mov ecx, edi
call fcn.10061d88
add eax, 0x364c0
jmp 0x10065989
cmp eax, 0xec
jne 0x10065b1d
mov ecx, edi
call fcn.10061d88
add eax, 0x374d0
jmp 0x10065989
cmp eax, 0xef
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
add eax, 0x374d8
jmp 0x10065989
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006288c
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, edi
mov ebx, edi
call fcn.10061d83
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10065b79
push 0x800
mov ecx, esi
call fcn.10062150
test al, al
jne 0x10065a95
mov ecx, edi
call fcn.10061d83
cmp eax, 4
jne 0x10065b99
push 0x1000
mov ecx, esi
call fcn.10062150
test al, al
jne 0x10062c4d
mov ecx, edi
call fcn.10061d83
cmp eax, 8
jne case.default.0x1006288c
push 0x2000
mov ecx, esi
call fcn.10062150
test al, al
je case.default.0x1006288c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
and eax, 0xffff1fff
jmp 0x10065ac9
test esi, esi
jne case.0x1006288c.70
push edx
lea ecx, [esp + 0x10]
call fcn.10062174
jmp case.0x1006288c.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
push eax
jmp 0x10065bd5
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065c1c
mov ecx, edi
call fcn.10061d88
test eax, eax
jne case.default.0x1006288c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
jmp 0x10065989
cmp esi, 2
jne case.default.0x1006288c
jmp 0x10065a02
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10065c6a
mov ecx, ebx
call fcn.10062060
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068ab5
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10063977
cmp esi, 0xca
jne case.default.0x1006288c
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, ebx
call fcn.10062060
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068ab5
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006306a
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10065d01
mov ecx, ebx
call fcn.10062060
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068ab5
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100635bd
cmp esi, 0xca
jne case.default.0x1006288c
jmp 0x10065c87
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065d5b
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100689d3
test al, al
je case.0x1006288c.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x1006288c.63
mov ecx, eax
jmp 0x100658f7
cmp esi, 0x11
je 0x10062f89
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x10063061
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065d97
mov ecx, edi
call fcn.10061d83
cmp eax, 1
je case.default.0x1006288c
jmp 0x10064531
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
cmp eax, 1
je case.default.0x1006288c
jmp 0x100652ff
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065e75
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062070
test al, al
je 0x10065e29
mov ecx, ebx
call fcn.10062070
test al, al
je 0x10065e29
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100689d3
test al, al
je case.0x1006288c.63
push 0x10
jmp 0x10063163
mov ecx, edi
call fcn.10062060
test al, al
je 0x10065ef5
mov ecx, ebx
call fcn.10062060
test al, al
je 0x10065ef5
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100689d3
test al, al
je case.0x1006288c.63
push 0x2001d6
jmp 0x100658fd
cmp esi, 0x11
jne 0x10065eb5
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062070
test al, al
je 0x10065ea3
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x10062c4d
mov ecx, edi
call fcn.10062060
test al, al
je 0x10065ef5
push 0x40017e
jmp 0x10065e95
cmp esi, 0xa
jne 0x10065ef5
mov ecx, ebx
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062070
test al, al
je 0x10065ee3
push 0x17f
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x10062c4b
mov ecx, ebx
call fcn.10062060
test al, al
je 0x10065ef5
push 0x2001d6
jmp 0x10065ed5
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x4c], eax
call fcn.100621e1
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 0x10065f41
mov ecx, ebx
call fcn.10061da2
test al, al
je 0x10065f4a
jmp 0x10063982
cmp esi, 0x11
je 0x10062c4d
push dword [esp + 0x48]
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
mov ecx, ebx
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062060
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068ab5
cmp esi, 9
jne 0x10062deb
mov ecx, edi
call fcn.10061da2
jmp 0x10062f24
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10065fb7
xor edx, edx
mov ecx, eax
call fcn.100620e3
test al, al
je case.default.0x1006288c
and esi, 0x3f
jmp case.0x1006288c.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10065fb7
push 7
pop edx
mov ecx, eax
call fcn.1006221b
jmp 0x10065faf
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10065fea
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 0x10062f71
cmp esi, 0x11
jne case.default.0x1006288c
mov eax, dword [edi + 4]
jmp 0x10062f90
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066061
mov ecx, edi
call fcn.10062060
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10062060
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068ac4
mov ecx, edi
call fcn.10061d88
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10063c6a
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, edi
call fcn.10062060
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068ab5
jmp 0x10062f89
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10063977
cmp esi, 0x11
je 0x10062f89
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
lea ecx, [esp + 0xc]
call fcn.1006211f
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062da8
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006602b
cmp esi, 0x11
je 0x1006606a
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
lea ecx, [esp + 0xc]
call fcn.1006211f
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x1006288c
mov ecx, edi
call fcn.10062060
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068ab5
jmp 0x100660bf
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 0x10063977
cmp esi, 0xd1
jmp 0x10062f83
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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 0x1006602b
cmp esi, 0xd1
jmp 0x10066064
mov ecx, dword [ebp + 0xc]
call fcn.10061d88
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x1006288c.63
cmp esi, 0xd9
jne case.default.0x1006288c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.1006211f
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
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.0x1006288c.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.0x1006288c.63
cmp ecx, 0x6c9
jne case.default.0x1006288c
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, dword [ebp + 0x18]
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
mov ecx, dword [ebp + 0x14]
jmp 0x1006620b
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 0x10063982
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10062a7d
jmp 0x10062c51
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x10062755
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 0x1006633f
push 0x18
lea ecx, [esp + 0x10]
call fcn.100621f5
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.100689f8
jmp case.0x1006288c.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100689eb
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100689eb
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp case.0x1006288c.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066404
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061da2
test al, al
je 0x100663ba
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp case.0x1006288c.93
mov ecx, edi
call fcn.10061da2
test al, al
je 0x100663d1
mov ecx, dword [esp + 0x38]
call fcn.1006228a
inc eax
jmp 0x100663ab
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100689d3
test al, al
je case.0x1006288c.93
push 1
lea ecx, [esp + 0x10]
call fcn.10062174
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10039107
jmp case.0x1006288c.93
cmp esi, 0x11
jne 0x10066415
mov ecx, edi
call fcn.10061d88
jmp 0x1006746a
cmp esi, 0xa
jne case.default.0x1006288c
push edx
lea ecx, [esp + 0x10]
call fcn.10062174
jmp 0x10067461
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10062030
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068aa6
jmp case.0x1006288c.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x1006288c
mov ebx, edi
jmp 0x1006746e
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 + 0x1009c4d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10066ef8
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d83
mov ecx, eax
call fcn.1006225e
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.1006224e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.100689c3
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp 0x10067461
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x1006288c.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x30], 1
jmp case.0x1006288c.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 + 0x1009c4d8]
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 0x10066588
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x1006832f
cmp esi, 0xca
jmp 0x1006745b
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100665ad
push 7
pop edx
mov ecx, eax
call fcn.1006221b
test al, al
je case.default.0x1006288c
and esi, 0x3f
jmp case.0x1006288c.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.0x1006288c.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10066606
mov ecx, ebx
call fcn.10061d83
mov ecx, eax
call fcn.1006225e
push eax
jmp 0x1006661b
mov ecx, edi
call fcn.10061d83
cmp eax, 0x20
jne case.0x1006288c.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp case.0x1006288c.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x1006288c.106
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061da2
test al, al
je case.0x1006288c.106
mov ecx, edi
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
or esi, eax
mov ecx, esi
call fcn.1006225e
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.1006228a
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.100621c0
mov ecx, edi
call fcn.10061d88
jmp 0x10068324
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 + 0x1009c4d8]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100666ae
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x1006832f
cmp esi, 0x11
jne case.default.0x1006288c
mov eax, dword [edi + 4]
jmp 0x1006746a
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov ecx, eax
call fcn.1006225e
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.1006224e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.100689c3
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp 0x10066409
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.10061db1
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10061db1
test al, al
je case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
call fcn.10061db1
test al, al
je case.default.0x1006288c
mov ecx, dword [ebp + 0x18]
call fcn.10061db1
test al, al
je case.default.0x1006288c
mov ecx, dword [esp + 0x34]
call fcn.10061db1
test al, al
je case.default.0x1006288c
mov ecx, esi
call fcn.10061d64
test al, al
je case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10061d88
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10061d88
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.10061d88
mov edx, eax
test bl, 3
jne 0x100667d5
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x100667d5
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x100667d5
lea eax, [ebx + 3]
cmp edx, eax
jne 0x100667d5
mov ecx, edi
call fcn.10061d88
mov edx, ebx
mov ecx, eax
call fcn.10062247
mov ebx, dword [esp + 0x24]
jmp 0x1006746a
push 0x3c
jmp 0x1006337e
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.0x1006288c.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 + 0x1009c4d8]
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 0x1006669f
cmp esi, 0xd1
jne case.default.0x1006288c
jmp 0x10066409
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x1006288c.115
push 2
pop edx
mov ecx, eax
call fcn.10061dc1
test al, al
je case.default.0x1006288c
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 0x100668f1
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 + 0x1009c4d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100669f9
cmp esi, 0x89
jne case.default.0x1006288c
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x1006746a
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
test al, 1
jne 0x100669a2
mov ecx, edi
call fcn.10061d88
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10061d88
cmp esi, eax
jne 0x100669a2
mov ecx, dword [ebp + 0x14]
call fcn.10061d83
mov ecx, eax
call fcn.1006225e
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d57
mov ecx, ebx
test al, al
jne 0x1006832a
call fcn.10061d64
test al, al
je case.default.0x1006288c
jmp 0x1006746e
push 0x1d
jmp 0x1006337e
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 + 0x1009c4d8]
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 0x10066a11
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 0x1006832f
cmp ecx, 0x289
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ebx, dword [ebp + 0x14]
jmp 0x1006746a
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.0x1006288c.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 + 0x1009c4d8]
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 0x100669f9
cmp eax, 0x689
jmp 0x10066a17
mov ecx, dword [ebp + 0xc]
call fcn.10062030
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10062030
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068ad2
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x1006830a
cmp esi, 0x51
jne case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
jmp 0x1006746a
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x1006288c.128
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x100666cb
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d83
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061d83
or esi, eax
mov ecx, esi
call fcn.1006225e
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.1006224e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.100689c3
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp 0x10066b23
mov ecx, dword [ebp + 0x18]
call fcn.10061d51
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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 0x1006830a
cmp eax, 0x651
jmp 0x10066b1d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066c9c
mov ecx, edi
call fcn.10061da2
test al, al
je 0x10066c48
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
mov ecx, edi
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a3f
mov ecx, ebx
call fcn.10061d88
mov ecx, edi
jmp 0x10068326
mov ecx, ebx
call fcn.10061da2
test al, al
je 0x10066c69
mov ecx, ebx
call fcn.10061d83
push eax
lea ecx, [esp + 0x10]
call fcn.10068a3f
jmp 0x10066670
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.100621ec
test eax, eax
je 0x10066ccf
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100621d6
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp 0x10066670
cmp esi, 0x11
jne 0x10066cd3
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.100621ec
test eax, eax
je 0x10066409
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100621d6
push 0x40017e
jmp 0x100666f6
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
cmp esi, 0xa
jne case.default.0x1006288c
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.100621ec
test eax, eax
je 0x10067461
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100621d6
push 0x2001d6
jmp 0x100664d1
mov ecx, dword [ebp + 0xc]
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
or esi, eax
mov ecx, esi
call fcn.1006225e
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10066670
cmp esi, 0x11
je 0x10066409
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
jmp 0x10067458
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10066def
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100689d3
test al, al
je case.0x1006288c.93
lea ecx, [esp + 0xc]
call fcn.1006217f
mov ecx, ebx
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ecx, dword [ebp + 0x14]
jmp 0x10068326
cmp esi, 0x51
je 0x10066b23
cmp esi, 0x89
jne case.default.0x1006288c
lea ecx, [esp + 0xc]
call fcn.1006217f
jmp 0x10066a1d
mov ecx, dword [ebp + 0xc]
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
or esi, eax
mov ecx, esi
call fcn.1006225e
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066dce
cmp esi, 0x89
je 0x10066a1d
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
mov ecx, dword [ebp + 0x14]
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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 0x1006685b
jmp 0x10066670
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066d86
cmp esi, 0x51
je 0x10066b23
cmp esi, 0x89
je 0x10066e04
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x10066e69
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066dce
cmp esi, 0x89
je 0x10066a1d
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
cmp esi, 9
je 0x10066c3a
jmp 0x10067458
mov ecx, dword [ebp + 0xc]
call fcn.10061d83
mov ecx, ebx
mov esi, eax
call fcn.10061d83
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009c4d8]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100669f9
cmp esi, 0x89
je 0x10066a1d
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
cmp esi, 0x4a
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
jmp 0x10067468
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 + 0x1009c4d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100669f9
cmp esi, 0x89
je 0x10066a1d
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.100621d6
mov ecx, dword [esp + 0x38]
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
lea ecx, [esp + 0xc]
call fcn.1006211f
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10061e4a
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 0x10067040
mov ecx, edi
call fcn.10061d88
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x1006831f
cmp esi, 0xd1
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10066b38
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 0x100670a7
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100666a6
cmp esi, 0x11
jmp 0x10067046
cmp esi, 0xd1
jne case.0x1006288c.146
lea ecx, [esp + 0xc]
call fcn.10062188
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 + 0x1009c4d8]
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 0x10067122
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x1006710c
mov ecx, ebx
call fcn.10061d83
cmp eax, 8
je 0x1006710c
xor eax, eax
jmp 0x10067110
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 0x10067098
cmp esi, 0xd1
jne case.default.0x1006288c
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x1006746e
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10061d83
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009c4d8]
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 0x100671b4
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 0x10066521
cmp eax, 0x449
jne 0x10067207
lea ecx, [esp + 0xc]
call fcn.1006217f
mov ecx, ebx
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061d88
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 0x1006746e
cmp eax, 0x289
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x100671e3
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.0x1006288c
call fcn.10061d51
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10061d83
mov ecx, edi
mov esi, eax
call fcn.10061d83
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10061d83
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10061d83
or eax, esi
mov ecx, eax
call fcn.1006225e
push eax
lea ecx, [esp + 0x10]
call fcn.100621e1
mov ecx, dword [esp + 0x50]
call fcn.10061d4e
mov ecx, eax
call fcn.100689ba
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 0x1006730a
mov ecx, ebx
call fcn.10061d88
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d88
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10061d88
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x1006288c.93
cmp eax, 0x449
jne 0x1006734e
lea ecx, [esp + 0xc]
call fcn.1006217f
mov ecx, ebx
call fcn.10061d88
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061d88
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x1006746e
cmp eax, 0x289
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10067339
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100669f9
cmp esi, 0x11
je 0x10066409
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, eax
call fcn.1006228a
push eax
lea ecx, [esp + 0x10]
call fcn.100621c0
jmp 0x10067461
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 + 0x1009c4d8]
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 0x100671b4
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 0x10067422
lea ecx, [esp + 0xc]
call fcn.1006217f
mov ecx, dword [ebp + 0x18]
call fcn.10061d88
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061d88
jmp 0x100671a7
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
mov ecx, dword [ebp + 0x18]
jmp 0x10067414
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x1006288c
mov ecx, edi
call fcn.10061d88
mov dword [esp + 0x14], eax
jmp case.0x1006288c.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x10066861
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x1006288c
mov ecx, ebx
call fcn.10061d88
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10061d51
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e0b
mov ecx, ebx
movzx eax, byte [eax + 0x1009c0d0]
mov dword [esp + 0x48], eax
call fcn.10061d4e
mov ecx, eax
call fcn.1006211f
push eax
lea ecx, [esp + 0x20]
call fcn.1006230d
lea ecx, [esp + 0x1c]
call fcn.10061e61
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10062143
test dword [esp + 0x48], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068a06
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061ded
test al, al
je 0x100674f6
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061dfb
test al, al
je 0x1006751c
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e16
mov dword [esp + 0x24], eax
jmp 0x10067521
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10062130
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10061d88
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.100621aa
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x38], eax
call fcn.10061e61
mov ecx, eax
call fcn.10061f0b
mov edx, 0x400000
mov ecx, eax
call fcn.10062147
mov esi, dword [esp + 0x38]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x38], esi
call fcn.10061f10
mov edx, 0x80000
mov ecx, eax
call fcn.10061f10
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.100689d3
test al, al
je 0x10067614
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10061f10
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100689d3
test al, al
jne 0x100683d8
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10061f15
or esi, eax
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
call fcn.10062164
test al, al
je 0x1006764e
test esi, 0x80df8110
jne 0x1006765a
mov edx, 0x400
mov ecx, 0x800
call fcn.10061f10
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100689d3
test al, al
jne 0x1006764e
or esi, 0x10
mov dword [esp + 0x38], esi
test esi, 0x80df8110
je 0x100677b2
push 4
lea ecx, [esp + 0x10]
call fcn.100621fd
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.100621fd
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x34], eax
test eax, 0x10000000
je 0x10067763
mov ecx, dword [esp + 0x44]
call fcn.1006216a
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10061d4e
mov ecx, eax
call fcn.1006213a
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x1006775c
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.10068b24
lea edx, [esp + 0x50]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
call fcn.100689c3
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x38], eax
cmp eax, 0x40000000
ja 0x1006775c
lea edx, [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.100689c3
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.100621d6
mov ecx, dword [esp + 0x5c]
call fcn.10068b24
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.100621e1
jmp 0x100677a3
push 0x29
jmp 0x10068117
push 0x19
lea ecx, [esp + 0x10]
call fcn.100621fd
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.100621fd
mov ecx, dword [esp + 0x34]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009bfa0]
lea ecx, [esp + 0x10]
call fcn.10062174
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0x20]
call fcn.100689f8
jmp 0x1006785c
push 0xd
lea ecx, [esp + 0x10]
call fcn.100621fd
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.100621fd
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.1006227e
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.100621d6
test esi, 0x8000807e
je 0x10067838
push 0x18
lea ecx, [esp + 0x10]
call fcn.100621f5
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c070]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.100689f8
jmp 0x10067869
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100689eb
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100689eb
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.10062150
test al, al
jne 0x10067f1e
mov eax, dword [esp + 0x48]
test al, 0x42
jne 0x10067e17
test al, 1
je 0x10067a22
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10062269
pop ecx
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.1006215c
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x1006793d
test al, al
jne 0x1006793d
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x100678e7
test ebx, ebx
jne 0x100678e7
push esi
jmp 0x1006796c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100621ec
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.10068ae0
test al, al
je 0x10067927
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067927
lea eax, [esi + 0x40]
jmp 0x100679d1
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push ebx
jmp 0x10067e09
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x1006797a
cmp dword [esp + 0x54], 0
jne 0x1006797a
push esi
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x10065891
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100621ec
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.10068ae0
test al, al
je 0x100679f1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x100679f1
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, dword [esp + 0x34]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.100689eb
jmp 0x10065891
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x54]
jmp 0x10067e09
test al, 0x30
jne 0x10067d61
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.100620fc
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10061f28
test al, al
je 0x10067a76
cmp esi, 2
je 0x10064b96
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062269
jmp 0x10067d4d
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], esi
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061f24
mov ecx, eax
call fcn.10061ecf
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x10067b7f
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10067b44
cmp dword [esp + 0x34], esi
je 0x10067d28
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10067b88
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x10067d28
cmp dword [esp + 0x54], 0x17e
jne 0x10067d1c
movzx eax, al
test al, 0x40
je 0x10067d28
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10067d28
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.100689d3
test al, al
jne 0x10067d28
push ebx
lea ecx, [esp + 0x20]
call fcn.10061fe9
jmp 0x10067d28
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.1006211f
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10067b70
cmp dword [esp + 0x34], esi
je 0x10067b6b
cmp dword [esp + 0x44], 0
jne 0x10067b70
xor eax, eax
inc eax
jmp 0x10067b72
xor al, al
cmp ecx, 5
jae 0x10067c5d
test al, al
jmp 0x10067b82
cmp eax, 2
jne 0x10067c5d
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.10061fc4
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 0x10067c7a
mov ecx, dword [edi + 0x68]
call fcn.10061e61
test eax, eax
jne 0x10067c7a
mov ecx, dword [edi + 0x68]
call fcn.10061e64
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.10061d4e
mov ecx, eax
call fcn.10061e2f
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10068997
pop ecx
pop ecx
test al, al
je 0x10067c3f
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.100689f8
jmp 0x10062a23
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10062105
mov edi, dword [esp + 0x10]
test al, al
jne 0x10064b96
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x34], esi
je 0x10067d28
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10067ae8
push 0x2e
jmp 0x10068117
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.10069698
test eax, eax
jne 0x10062755
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, dword [edi + 0x68]
call fcn.10061e61
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10061f57
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.10061e70
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061fc4
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061e95
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e2f
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10068aef
jmp 0x10065891
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10068afa
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push dword [esp + 0x24]
jmp 0x10067e09
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, edi
call fcn.10061f28
test al, al
jne 0x100680b6
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
test byte [esp + 0x48], 0x10
mov esi, eax
je 0x10067e08
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061ed6
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068115
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.10061eb7
test al, al
je 0x1006416b
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10061fc4
mov ecx, ebx
sub esi, eax
call fcn.10061ec4
add eax, esi
push eax
jmp 0x10067e09
push esi
lea ecx, [esp + 0x20]
call fcn.100689f8
jmp 0x10065891
test al, 0x40
jne 0x10067e2f
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10067f2e
push 0x2c
jmp 0x10068117
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
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 0x10067ef3
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 0x10067e97
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10062128
test eax, eax
jne 0x10064b96
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov al, byte [esi + eax*8 + 0x1009c518]
jmp 0x10067ea7
test al, 2
je 0x10067ea1
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009c020]
movzx ecx, al
cmp ecx, 0xff
je 0x10064b96
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067eca
cmp esi, 6
jne 0x100678e1
mov ecx, edx
call fcn.10068ae0
lea ecx, [esp + 0x1c]
test al, al
je 0x10067eeb
lea eax, [esi + 0x40]
push eax
call fcn.100689eb
push dword [esp + 0x34]
jmp 0x1006796c
lea eax, [esi + 0x80]
jmp 0x10067f06
test al, 0x30
jne 0x10064b96
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.100689eb
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10068b14
jmp 0x10065891
mov eax, dword [esp + 0x48]
test al, 2
je 0x10062a7d
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x10068018
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x38], eax
call fcn.10062269
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.10061d4e
mov ecx, eax
call fcn.10062128
mov edx, esi
mov ecx, eax
call fcn.10062269
mov esi, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x44], ebx
pop ecx
test esi, esi
jne 0x10067fa7
cmp dword [esp + 0x18], 5
je 0x10067fa7
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
push eax
call fcn.100689eb
push ebx
jmp 0x1006796c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100621ec
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10068ae0
test al, al
je 0x10067ffa
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x34]
shl eax, cl
cmp ebx, eax
jne 0x10067ffe
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.100689eb
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x100678e1
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.100689eb
push dword [esp + 0x40]
jmp 0x1006792e
test al, 0x30
jne 0x1006806b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push 5
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10062128
mov edx, esi
mov ecx, eax
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
jmp 0x10067e05
mov ecx, edi
call fcn.10061f28
test al, al
je 0x10064b96
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
push 5
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10062128
mov edx, esi
mov ecx, eax
call fcn.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10061ecb
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10068954
test eax, eax
jne 0x100682f1
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061e46
test byte [esp + 0x48], 0x10
mov dword [esp + 0x40], eax
je 0x1006824b
mov ecx, ebx
call fcn.10061d4e
mov ecx, eax
call fcn.10061d88
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061ed6
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x1006811d
push 0xc
pop ecx
jmp 0x100682f4
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069698
test eax, eax
jne 0x10062755
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x44], eax
call fcn.10061e61
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10061f57
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.10061e70
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.10061fc4
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061e95
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.10061eaf
test al, al
je 0x100681db
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10061ec4
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10061eab
mov ecx, eax
call fcn.10061e61
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10067d0c
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10061fc4
push ebx
push 0
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.10061e70
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x38]
mov ecx, dword [ecx]
push esi
call fcn.10061e61
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.100692bb
mov esi, eax
test esi, esi
je 0x100682f1
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x1006823c
call fcn.10061e61
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10061fcd
jmp 0x10065891
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069698
test eax, eax
jne 0x10062755
mov ecx, dword [edi + 0x68]
call fcn.10061e61
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10061e61
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.10061e70
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.10061fc4
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061e95
mov ecx, edi
call fcn.10061f57
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.10061e6b
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 0x10067d0e
xor ecx, ecx
inc ecx
call fcn.10061d4e
jmp 0x10062755
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x1006288c
mov ecx, dword [ebp + 0x14]
call fcn.10061d88
mov ecx, edi
mov esi, eax
call fcn.10061d88
mov edx, esi
mov ecx, eax
call fcn.10062247
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061d88
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 0x100683eb
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x100683eb
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x100683a8
test byte [eax + 4], 0x70
jne 0x100683d8
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x100683d0
shr edx, 2
test dl, 1
je 0x100683d8
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x100683e5
shr edx, 3
test dl, 1
jne 0x100683df
push 0x2a
jmp 0x100662e8
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x1006840b
test ecx, esi
jne 0x10068413
test dword [esp + 0x20], 0xc00
jne 0x1006840b
or esi, 0x10
test ecx, esi
je 0x100684a6
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.100689f8
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.10062327
jmp 0x10062a3c
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 0x10068524
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c070]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.100689f8
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 0x10068486
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100689eb
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100689eb
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100689eb
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.10062269
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100689eb
jmp 0x1006848c
mov edi, eax
jmp 0x10062a7d