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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
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 + 0x2c], ecx
mov edx, dword [eax + 0x74]
sbb eax, eax
and eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], edx
mov byte [esp + 0x28], cl
lea eax, [eax*8 + 0x100a2708]
movlpd qword [esp + 0x1c], xmm0
mov dword [esp + 0x34], eax
mov eax, dword [eax]
shr eax, 0xe
and eax, 0x3ff
push ebx
mov ebx, dword [ebp + 0x10]
push esi
lea eax, [eax*8 + 0x100a1708]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
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 + 0x3c], 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 0x100631a3
cmp dword [eax + 0x2c], 0
jne 0x10062f97
push 0
push 5
mov ecx, eax
jmp 0x100630dd
cmp dword [esp + 0x54], 0
je 0x10068f8c
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.100628b5
test eax, eax
jne 0x100630c7
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x10063078
mov esi, edi
mov eax, dword [ebp + 0x18]
lea edi, [esp + 0xd8]
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 + 0xf0]
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 + 0x100]
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 + 0x110]
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 + 0x120]
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 + 0x130]
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 dword [esp + 0xc8], eax
mov edi, ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov al, byte [edi + 0x38]
mov byte [esp + 0x60], al
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0x68]
call dword [edi + 0x64]
add esp, 0x14
test eax, eax
jne 0x100630cb
mov esi, dword [esp + 0x3c]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a2708]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a1708]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x1006315b
mov eax, dword [esp + 0x20]
and eax, 0x30000
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
shr eax, 0x10
test dl, al
jne 0x100630eb
cmp dword [esp + 0x24], 0
jne 0x100630f2
push 0x21
pop eax
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x44], ecx
push ecx
mov dword [edi + 0x50], ecx
mov ecx, edi
push eax
call fcn.1006f1a1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10063150
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x10063110
mov eax, dword [esp + 0x44]
shr eax, 0x11
test dl, al
jne 0x10063110
push 0x22
jmp 0x100630c6
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x1006312a
mov eax, dword [esp + 0x44]
shr eax, 0x12
test dl, al
jne 0x1006312a
push 0x23
jmp 0x100630c6
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 0x10063154
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x100631a3
mov eax, dword [esp + 0x44]
shr eax, 0xe
test dl, al
je 0x10063209
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x1006318b
shr eax, 8
test al, 0xf
jne 0x10063209
cmp dword [ecx + 0x4c], edx
jne 0x10063209
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]
movzx eax, byte [ebx*8 + 0x100a270e]
and dword [esp + 0x18], 0
mov ecx, dword [eax*4 + 0x100a5b00]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a270d]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
movzx ebx, byte [eax + 4]
mov dword [esp + 0x58], ebx
cmp ebx, 0xa0
mov ebx, dword [ebp + 0x10]
ja case.default.0x10063202
mov edi, dword [esp + 0x58]
mov dword [esp + 0x44], 0x8000000
jmp dword [edi*4 + 0x10068f94]
push 0x24
jmp 0x100630c6
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 + 0x1009d170]
lea ecx, [esp + 0x20]
push eax
call fcn.100693ea
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 0x10066c74
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.10062c14
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 0x10063399
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10063202
lea ecx, [esp + 0xc]
call fcn.10062af0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x10063202.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100626f1
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009d1d8]
call fcn.10062a9a
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069417
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d170]
lea ecx, [esp + 0x20]
push eax
call fcn.100693ea
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10066c74
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.10062c14
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10062cc0
mov edi, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x44], eax
push edi
mov dword [edi + 0x50], eax
call fcn.10062959
xor eax, eax
jmp 0x100630e2
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063202.1
cmp esi, edx
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
test eax, eax
je case.0x10063202.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10066c7a
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063202.1
cmp esi, 9
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
cmp eax, 2
jne case.default.0x10063202
mov ecx, ebx
jmp 0x100633e2
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063202.1
cmp esi, 2
jne case.default.0x10063202
xor edx, edx
mov ecx, edi
call fcn.10062b7a
test al, al
je case.default.0x10063202
mov esi, edi
mov ecx, esi
call fcn.100626a5
mov ecx, eax
call fcn.10062762
mov ecx, esi
movzx ebx, byte [eax + 0x1009d1d8]
call fcn.100626a5
mov ecx, eax
call fcn.10062771
test al, al
jne case.default.0x10063202
test bl, 2
jne case.default.0x10063202
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062bf5
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10062af9
mov edi, eax
mov ecx, edi
call fcn.10062bd3
test al, al
jne 0x10066c74
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.100693ea
mov ecx, esi
call fcn.100626a5
mov ecx, eax
call fcn.10062a76
push eax
lea ecx, [esp + 0x20]
call fcn.10062c6c
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062a9a
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069417
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062c14
xor eax, eax
push eax
push eax
push eax
jmp 0x1006622f
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x1006351f
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x10063202.1
cmp esi, 0x19
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
test eax, eax
jne case.default.0x10063202
mov ecx, ebx
jmp 0x100634fd
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x10063202.11
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
xor edx, edx
inc edx
jmp case.0x10063202.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b4918]
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.0x10063202.63
mov ebx, edi
cmp esi, 2
je 0x100635c3
jmp case.default.0x10063202
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x10063202.14
push 2
pop edx
mov ecx, ebx
call fcn.10062a20
test al, al
je case.default.0x10063202
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10062a20
test al, al
je case.default.0x10063202
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.100626a8
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062b4b
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062762
mov ecx, ebx
movzx eax, byte [eax + 0x1009d1d8]
mov dword [esp + 0x44], eax
call fcn.100626a5
mov ecx, eax
call fcn.10062a76
push eax
lea ecx, [esp + 0x20]
call fcn.10062c6c
lea ecx, [esp + 0x1c]
call fcn.100627b8
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.10062a9a
test dword [esp + 0x44], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10069417
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062bf5
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626a5
mov ecx, eax
call fcn.1006276d
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 + 0x48]
mov dword [esp + 0x54], edx
call fcn.10062af9
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.10062bd3
test al, al
jne 0x10066c78
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100693ea
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10062c14
jmp 0x10068282
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063202
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063202.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.10062b1f
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x10063725
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, edi
jmp 0x100645ec
cmp esi, 2
jne 0x10063740
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
jmp 0x100635c1
mov ecx, ebx
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
cmp esi, 9
je 0x1006371e
cmp esi, 0xa
jmp 0x100636df
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.10062762
mov ecx, edi
movzx ebx, byte [eax + 0x1009d1d8]
call fcn.100626a5
mov ecx, eax
call fcn.10062771
test al, al
jne case.default.0x10063202
test bl, 2
jne case.default.0x10063202
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062bf5
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10062af9
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.10062bd3
test al, al
jne 0x10066c74
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100693ea
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.100626a5
mov ecx, eax
call fcn.10062a76
push eax
lea ecx, [esp + 0x20]
call fcn.10062c6c
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062a9a
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069417
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062c14
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x100634e9
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x100638a7
push 2
pop edx
mov ecx, ebx
call fcn.10062a20
test al, al
je case.default.0x10063202
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10062a20
test al, al
je case.default.0x10063202
jmp 0x1006371e
cmp esi, edx
jne case.default.0x10063202
mov ecx, edi
call fcn.100629a7
jmp 0x1006389a
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063202
jmp 0x1006371e
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b4918]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100638f6
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100645f1
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x14], eax
jmp 0x100635c3
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006395f
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 2
jne 0x10063949
push 0x66
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp case.0x10063202.63
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069450
jmp case.0x10063202.63
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 2
jne 0x1006398f
push 0x66
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x100635c3
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069450
jmp 0x100635c3
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b4918]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100639d7
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10063202.63
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov dword [esp + 0x14], eax
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063af4
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne 0x10066116
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne 0x10063ac1
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10063a7c
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
push 4
pop ecx
jmp 0x10063a8a
mov edx, esi
call fcn.10062871
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063ab1
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
jmp 0x10063ac1
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10062871
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.100693e4
test al, al
je case.0x10063202.63
push 2
lea ecx, [esp + 0x10]
call fcn.10062ad3
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10038fe7
jmp case.0x10063202.63
cmp esi, 0x11
jne 0x10063b73
push 2
lea ecx, [esp + 0x10]
call fcn.10062ad3
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne 0x100635c3
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063b5f
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x100635c3
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x14], 4
jmp 0x100635c3
cmp esi, 0xa
jne 0x10063be4
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, ebx
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne 0x100635c1
mov ecx, ebx
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x10063bd0
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x100635c1
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x14], 4
jmp 0x100635c1
push 0x80
lea ecx, [esp + 0x10]
call fcn.10062b1f
cmp esi, 0x19
jne 0x10063e13
mov ecx, edi
call fcn.100626da
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov ecx, dword [esp + 0x60]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x10063c79
mov ecx, edi
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x10063c5b
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x10063c6a
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x48], edx
mov byte [esp + 0x34], dl
jmp 0x10063d7b
push 4
pop eax
cmp ecx, 2
jne 0x10063c94
push 0x200000
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp 0x10063d2b
cmp ecx, eax
jne 0x10063cb1
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069466
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10063d2b
cmp ecx, 8
jne 0x10063d2e
cmp dword [esp + 0x54], 0x15
jne 0x10063cd4
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.1006946c
mov byte [esp + 0x67], bl
pop ecx
pop ecx
test al, al
jne 0x10063cd9
mov byte [esp + 0x5f], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100693a8
pop ecx
pop ecx
test al, al
jne 0x10063cff
cmp byte [esp + 0x5f], al
jne 0x10063d14
push 0x32
pop ecx
call fcn.100626a5
jmp 0x100630c7
cmp byte [esp + 0x5f], 0
je 0x10063d1d
mov ecx, dword [esp + 0x10]
push ebx
call fcn.100628a1
test al, al
je 0x10063d1d
push 4
pop eax
mov dword [esp + 0x60], eax
jmp 0x10063d21
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x10]
call fcn.10069450
push 4
pop eax
lea edx, [esp + 0x70]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x60]
call fcn.100693dc
push dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
push dword [esp + 0x2c]
mov byte [esp + 0x3c], al
call fcn.10069382
pop ecx
pop ecx
test al, al
je 0x10063d77
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
mov edx, dword [esp + 0x48]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10063c6c
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x18], 0
jne 0x10063ded
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x10063d8e
cmp dl, bl
je 0x10063df5
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
jne 0x10063ded
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062b35
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x60], ebx
push 4
setne cl
shl eax, 3
pop ebx
add ecx, ebx
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10062b40
lea edx, [esp + 0xbc]
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x60]
call fcn.100693dc
mov byte [esp + 0x34], al
jmp case.0x10063202.1
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
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.10062ad3
jmp case.0x10063202.63
cmp esi, 0x1a
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov dword [esp + 0x68], eax
test eax, eax
je 0x10066016
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
push 4
mov esi, eax
mov dword [esp + 0x30], edx
pop ebx
lea edx, [esp + 0xb8]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x68]
mov dword [esp + 0xb8], ebx
call fcn.100693dc
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp dword [esp + 0x68], ebx
jne 0x10063e83
push dword [esp + 0x2c]
push esi
call fcn.10069466
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069382
pop ecx
pop ecx
test al, al
je 0x10063ebb
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
mov ecx, dword [esp + 0x38]
test al, al
push 1
movzx ecx, cl
pop edx
cmove ecx, edx
mov dword [esp + 0x38], ecx
mov byte [esp + 0x34], cl
jmp 0x10063ebe
xor edx, edx
inc edx
cmp byte [esp + 0x38], dl
mov ecx, dword [esp + 0x68]
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.10062ad3
push dword [esp + 0x68]
jmp 0x10063732
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
cmp eax, 1
je case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov edi, dword [esp + 0x10]
jmp 0x100661b6
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x10063f4f
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, ebx
call fcn.100626df
mov dword [esp + 0x14], eax
jmp 0x1006371e
cmp esi, 0xa
jne 0x10063f68
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
jmp 0x100639e0
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
lea ecx, [esp + 0xc]
call fcn.10062a76
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x1006371e
cmp esi, 0x1a
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
test eax, eax
je 0x10066016
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x1006371e
mov ebx, edi
cmp esi, 2
je 0x100635c3
push 0xe8
lea ecx, [esp + 0x10]
call fcn.10062b1f
and dword [esp + 0x14], 0
jmp 0x10064917
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x10064039
mov ecx, dword [ebp + 0x14]
call fcn.100626f9
test al, al
je case.default.0x10063202
mov ecx, dword [ebp + 0x14]
call fcn.100626df
test eax, eax
jne case.default.0x10063202
and esi, 0x3f
cmp esi, 9
jne 0x100640f8
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne 0x10066116
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne case.0x10063202.63
mov ecx, edi
call fcn.10062977
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100640c0
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
jmp 0x100640cc
mov edx, esi
call fcn.10062871
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x10065e72
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
jmp case.0x10063202.63
cmp esi, 0xa
jne case.default.0x10063202
jmp 0x10063b78
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x100636dc
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.100626ae
test al, al
je case.default.0x10063202
lea ecx, [ebx + 0x10]
call fcn.100626ae
jmp 0x100635b9
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 0x100641ce
mov ecx, ebx
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 1
jne 0x100641a7
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064190
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006419e
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10063202.63
mov ecx, ebx
call fcn.100626da
cmp eax, 2
jne 0x100641be
push 0x66
lea ecx, [esp + 0x20]
call fcn.100693fc
push 1
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp case.0x10063202.63
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626da
test eax, eax
je 0x10066016
mov ecx, ebx
call fcn.100626da
cmp eax, 2
jne 0x100641fd
push 0x66
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, ebx
call fcn.100626da
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp 0x100635c3
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100693cf
mov ecx, ebx
mov di, ax
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x34], 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.0x10063202.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006430b
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov esi, eax
mov byte [esp + 0x34], 1
mov eax, edx
mov dword [esp + 0x28], esi
push eax
push esi
mov dword [esp + 0x34], eax
call fcn.10069382
pop ecx
pop ecx
test al, al
je 0x100642d6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
je 0x100642f9
push 2
lea ecx, [esp + 0x10]
call fcn.10062b2a
mov ecx, edi
call fcn.100626da
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x100645ec
cmp esi, 0xd1
jne 0x100643c9
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
call fcn.100626da
cmp eax, 4
jne 0x10064376
push dword [esp + 0x2c]
push esi
call fcn.10069466
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069382
pop ecx
pop ecx
test al, al
je 0x1006439d
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
je 0x100638ff
push 2
lea ecx, [esp + 0x10]
call fcn.10062b2a
mov ecx, edi
call fcn.100626da
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x100638ff
cmp esi, 9
jne 0x10064430
mov ecx, ebx
call fcn.100626da
cmp eax, 1
je 0x1006453c
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne 0x10066116
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
jmp case.0x10063202.63
cmp esi, 0x11
jne 0x10064474
mov ecx, ebx
call fcn.100626da
cmp eax, 1
je 0x100645a1
mov ecx, edi
call fcn.100626df
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
jmp 0x100635c3
cmp esi, 0x19
jne case.0x10063202.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov esi, eax
mov byte [esp + 0x34], 1
mov ebx, edx
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.100626da
cmp eax, 4
jne 0x100644d5
push ebx
push esi
call fcn.10069466
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069382
pop ecx
pop ecx
test al, al
je 0x100644f8
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
je 0x1006451b
push 2
lea ecx, [esp + 0x10]
call fcn.10062b2a
mov ecx, edi
call fcn.100626da
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x18], eax
jmp 0x100639ce
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x10063202.12
cmp esi, 9
jne 0x1006459c
xor edx, edx
mov ecx, edi
call fcn.10062a07
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.10062997
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x10064588
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x100640e8
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x18], 4
jmp case.0x10063202.63
cmp esi, 0x11
jne 0x100645bb
xor edx, edx
mov ecx, edi
call fcn.10062a07
mov edi, dword [esp + 0x10]
test al, al
je 0x100633f3
jmp 0x100635c7
cmp esi, 0x49
jne 0x100645fa
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, dword [ebp + 0x14]
call fcn.100626df
mov dword [esp + 0x18], eax
jmp case.0x10063202.63
cmp esi, 0x89
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ebx, dword [ebp + 0x14]
jmp 0x100635c3
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064671
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 1
jne case.0x10063202.63
mov ecx, edi
jmp 0x10064569
cmp esi, 2
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
test eax, eax
je 0x10066016
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x10064710
mov ecx, edi
call fcn.100626df
test eax, eax
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
call fcn.100626da
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10062be9
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069480
jmp case.0x10063202.1
cmp esi, 9
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
test eax, eax
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
cmp eax, 2
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10062ad3
jmp 0x100646fa
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063202
push 7
pop edx
mov ecx, edi
call fcn.10062b7a
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.100626df
cmp eax, 2
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov ebx, eax
test ebx, ebx
je 0x10066016
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10062ad3
push ebx
lea ecx, [esp + 0x10]
call fcn.10069480
jmp 0x10063439
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064671
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 1
jne 0x100647dd
mov eax, dword [edi]
jmp 0x1006416d
mov ecx, dword [esp + 0x10]
call fcn.1006287f
test al, al
je 0x10064801
mov ecx, dword [esp + 0x40]
call fcn.10062be9
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x100646f0
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
jmp case.0x10063202.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
jmp 0x1006350d
push 0x40
mov edx, 0x80
pop ecx
call fcn.10062867
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100693e4
mov edi, dword [ebp + 0xc]
test al, al
je 0x10064886
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.100628a1
test al, al
je 0x10064886
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.100693e4
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x58], al
push dword [esp + 0x58]
call fcn.100693fc
mov ebx, edi
jmp 0x10064001
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.100626ae
test al, al
je 0x10064886
xor edx, edx
mov ecx, edi
inc edx
call fcn.10062718
test al, al
je case.default.0x10063202
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.1006287f
test al, al
je 0x100648c8
mov ecx, edi
call fcn.100626da
cmp eax, 2
je 0x100648df
mov ecx, esi
call fcn.10062885
test al, al
je 0x100648e3
mov ecx, edi
call fcn.100626da
cmp eax, 4
jne 0x100648e3
mov al, 1
jmp 0x100648e5
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10069417
jmp 0x10064001
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x1006371e
mov ebx, edi
cmp esi, 2
je 0x100635c3
push 0xe9
jmp 0x10063ff8
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 0x10066c78
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 + 0x40]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x38], ecx
movzx eax, byte [eax + 7]
mov ecx, dword [esp + 0xc]
and ecx, 0x1f00
sub ecx, 0x100
mov esi, dword [eax*4 + 0x100a24e8]
neg ecx
mov dword [esp + 0x3c], 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 + 0x44], ecx
mov ecx, ebx
cmp al, 4
jne 0x10064b0c
call fcn.100626a5
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062846
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068b18
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x4c], esi
call fcn.1006280e
test al, al
je 0x10064a47
mov ecx, ebx
call fcn.1006281b
mov ebx, dword [esp + 0x44]
mov esi, eax
sub esi, dword [esp + 0x38]
sub esi, ebx
lea eax, [esi - 2]
add eax, ebx
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.100694f1
test al, al
je 0x10064bb6
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10064bb6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
jne 0x10064bb6
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10062871
push ebx
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x100633b2
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10064a71
cmp dword [esp + 0xc], 0
je 0x10064af5
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.100693e4
test al, al
jne 0x10064af5
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x48], esi
je 0x10064baf
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.100693e4
test al, al
jne 0x10064baf
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062b4b
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100693ea
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100693fc
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.100693ea
mov dword [esp + 0x3c], 0xfffffffc
push 4
pop ebx
jmp 0x10068be9
push ebx
lea ecx, [esp + 0x20]
call fcn.100693fc
or dword [esp + 0x3c], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x10068be9
call fcn.100626c5
test al, al
je 0x100633f3
mov ecx, edi
call fcn.1006287b
mov ecx, eax
call fcn.10062826
mov ecx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], edx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x10064c44
mov ebx, dword [esp + 0x44]
mov esi, eax
sub esi, ebx
mov ecx, edi
sbb edx, 0
sub esi, dword [esp + 0x48]
sbb edx, dword [esp + 0x40]
sub esi, dword [esp + 0x38]
sbb edx, 0
mov dword [esp + 0x58], edx
call fcn.1006288d
mov cl, al
call fcn.100627aa
test al, al
jne 0x100649e7
push dword [esp + 0x58]
push esi
call fcn.100693a8
pop ecx
pop ecx
test al, al
jne 0x100649e7
mov ecx, dword [esp + 0x54]
call fcn.10062b67
test al, al
jne 0x10064c40
push 0x30
jmp 0x10068b1a
cmp dword [esp + 0xc], 0
je 0x10064baf
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.100693e4
test al, al
jne 0x10064baf
push 0x10
pop ecx
call fcn.10062862
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10062876
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062b4b
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100693ea
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100693fc
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.100693ea
push esi
lea ecx, [esp + 0x20]
call fcn.10069409
jmp 0x100633b2
mov esi, dword [esp + 0x3c]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.1006a0a5
test eax, eax
jne 0x100630cb
mov ecx, edi
call fcn.100628ae
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.100627b8
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
cmp dword [esp + 0xc], 0
je 0x10064d79
mov ecx, edi
call fcn.1006288d
mov cl, al
call fcn.100627b0
test al, al
je 0x10064cef
mov ecx, dword [esp + 0x54]
call fcn.10062b67
test al, al
je 0x10064cef
cmp dword [esp + 0x50], 0
jne 0x10064ccc
push 0x40
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x38]
call fcn.10069bbf
test eax, eax
jne 0x100630cb
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062b4b
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100693ea
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100693fc
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.100693ea
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.100627c7
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.1006291b
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100627ec
push ebx
lea ecx, [esp + 0x20]
call fcn.10069500
jmp 0x100633b2
push esi
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.100627c7
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.1006291b
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100627ec
push ebx
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x100633b2
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10064e0e
mov ecx, edi
mov ebx, edi
call fcn.100626da
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x10064de3
mov ecx, edi
call fcn.10062891
mov esi, eax
jmp 0x10064dff
sub esi, 2
cmp esi, 2
je 0x10064dff
cmp esi, 4
je 0x10064dff
mov ecx, edi
call fcn.10062891
cmp esi, eax
jne 0x10065518
push esi
lea ecx, [esp + 0x10]
call fcn.10069426
jmp 0x100635c7
cmp esi, 0x1b
jne case.default.0x10063202
mov ecx, dword [esp + 0x10]
call fcn.1006287f
test al, al
je case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, ebx
mov esi, eax
call fcn.100626a5
mov ecx, esi
mov edi, eax
call fcn.100627a1
test edx, edx
jg 0x10063cf2
jl 0x10064e56
cmp eax, 0xffff
ja 0x10063cf2
mov ecx, edi
call fcn.100627a1
test edx, edx
jg 0x10063cf2
jl 0x10064e70
cmp eax, 0xffffffff
ja 0x10063cf2
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, esi
call fcn.100627a1
mov ecx, edi
mov esi, eax
call fcn.100627a1
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 6
jmp case.0x10063202.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
jmp 0x100638ff
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100650d2
mov ecx, edi
call fcn.100626f9
mov ecx, edi
test al, al
je 0x10065064
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626f9
test al, al
je 0x10064fc2
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne case.default.0x10063202
cmp esi, 1
jne 0x10064fa5
mov ecx, edi
call fcn.10062977
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10064f55
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
jmp 0x10064f61
mov edx, esi
call fcn.10062871
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x10064f86
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
jmp 0x10064f92
mov edx, esi
call fcn.10062871
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x10063ac1
push 0x89
lea ecx, [esp + 0x10]
call fcn.10062b1f
push esi
lea ecx, [esp + 0x10]
call fcn.10069426
jmp 0x10063ac1
mov ecx, ebx
call fcn.100629d7
test al, al
je 0x10064ff5
push 0x8c
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
dec dword [esp + 0x14]
jmp case.0x10063202.63
mov ecx, ebx
call fcn.100629e7
test al, al
je 0x10065042
push 0x120
lea ecx, [esp + 0x10]
call fcn.10062b1f
test byte [esp + 0x14], 8
je case.0x10063202.63
mov ecx, dword [esp + 0x10]
call fcn.1006287f
test al, al
je case.0x10063202.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.100693fc
and dword [esp + 0x14], 7
jmp case.0x10063202.63
mov ecx, ebx
call fcn.100629f7
test al, al
je case.default.0x10063202
push 0x121
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp case.0x10063202.63
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626f9
test al, al
je case.default.0x10063202
mov ecx, edi
call fcn.100629d7
test al, al
je 0x100650a7
push 0x8e
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, ebx
jmp 0x10064fdd
mov ecx, edi
call fcn.100629e7
test al, al
je 0x100650bc
push 0x122
jmp 0x10065005
mov ecx, edi
call fcn.100629f7
test al, al
je case.default.0x10063202
push 0x123
jmp 0x10065056
cmp esi, 0x11
jne 0x100651d9
mov ecx, edi
call fcn.100626df
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.100629d7
lea ecx, [esp + 0xc]
test al, al
je 0x1006511f
push 0x8e
call fcn.10062b1f
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
dec dword [esp + 0x14]
jmp 0x100635c3
push 0
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
cmp dword [esp + 0x14], 0
jne 0x1006518b
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006273a
test al, al
jne 0x1006518b
mov ecx, ebx
call fcn.100626a5
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.100626da
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10062d17
add esp, 0xc
test al, al
je 0x1006518b
push 0xa0
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp 0x1006558b
mov ecx, edi
call fcn.100626da
cmp eax, 1
jne 0x100651cf
mov ecx, edi
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x100651c0
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x100651cf
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x14], 4
push 0x8a
jmp 0x1006420c
cmp esi, 0xa
jne 0x100652e2
mov ecx, ebx
call fcn.100626df
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.100629d7
lea ecx, [esp + 0xc]
test al, al
je 0x10065228
push 0x8c
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x100635c3
push 0
call fcn.10062b1f
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
cmp dword [esp + 0x14], 0
jne 0x1006528b
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.1006273a
test al, al
jne 0x1006528b
mov ecx, edi
call fcn.100626a5
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.100626da
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10062d17
add esp, 0xc
test al, al
je 0x1006528b
push 0xa2
jmp 0x1006517d
mov ecx, ebx
call fcn.100626da
cmp eax, 1
jne 0x100652cf
mov ecx, ebx
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x100652c0
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x100652cf
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp 0x10065221
cmp esi, 0x19
jne 0x10065414
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
mov byte [esp + 0x34], al
cmp al, 1
jne 0x1006536a
mov ecx, edi
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x1006532e
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x1006533d
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10063f1d
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
cmp byte [esp + 0x34], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x100653bc
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
jne 0x100653bc
push ebx
push esi
call fcn.1006946c
pop ecx
pop ecx
test al, al
je 0x100653dc
mov ecx, dword [esp + 0x10]
push 1
call fcn.100628a1
test al, al
je 0x100653dc
mov byte [esp + 0x34], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.10062b1f
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10069496
jmp 0x10063f1d
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100693a8
pop ecx
pop ecx
test al, al
je 0x100653bc
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.10062b1f
and dword [esp + 0x14], 0
mov byte [esp + 0x34], 4
jmp case.0x10063202.63
cmp esi, 0x1a
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov dword [esp + 0x6c], eax
test eax, eax
je 0x10066016
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.10062b1f
push dword [esp + 0x6c]
lea ecx, [esp + 0x10]
call fcn.10069426
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x74]
mov dword [esp + 0x74], 4
call fcn.100693dc
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x1006551f
mov ecx, edi
call fcn.100626df
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100626e3
test al, al
je case.default.0x10063202
cmp dword [esp + 0x14], 0
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006273a
test al, al
jne 0x10065514
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a53
cmp eax, 2
jne 0x1006558b
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x10068b1a
cmp esi, 0xa
jne 0x100655d1
mov ecx, ebx
call fcn.100626df
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10062b1f
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626e3
test al, al
je case.default.0x10063202
cmp dword [esp + 0x14], 0
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.1006273a
test al, al
jne 0x10065514
mov ecx, esi
call fcn.100626a5
mov ecx, eax
call fcn.10062786
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10062891
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x34], al
call fcn.100626a5
mov ecx, eax
call fcn.10062a76
push eax
lea ecx, [esp + 0x20]
call fcn.10062c6c
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10063202.1
cmp esi, 0x19
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.10062987
test al, al
je case.default.0x10063202
mov ecx, edi
call fcn.100626df
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10062b1f
mov ecx, ebx
mov byte [esp + 0x34], 8
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.100694ac
jmp 0x10063f1d
mov ecx, ebx
call fcn.100626da
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10062ad3
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
cmp esi, 9
jne 0x100638f6
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 1
jne case.0x10063202.63
jmp 0x1006416b
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, ebx
call fcn.10062987
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694b7
jmp 0x100639e0
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, ebx
mov esi, eax
call fcn.100626a5
mov ecx, eax
call fcn.100626f1
mov ecx, esi
mov bl, al
call fcn.100626f1
cmp al, bl
jne case.default.0x10063202
mov ecx, esi
call fcn.10062730
test al, al
jne case.default.0x10063202
mov ecx, esi
call fcn.10062771
test al, al
jne case.default.0x10063202
mov ecx, esi
call fcn.10062a6c
test al, al
je 0x10065726
mov ecx, esi
call fcn.10062a76
cmp eax, 1
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x100635c3
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10065792
mov ecx, ebx
call fcn.100626df
test eax, eax
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626da
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10062be9
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.10062b1f
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069480
jmp 0x100634fb
cmp esi, 9
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
cmp eax, 2
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
test eax, eax
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626da
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10062ad3
mov ecx, ebx
jmp 0x100646fc
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
cmp eax, 2
jne case.default.0x10063202
push 6
pop edx
mov ecx, ebx
call fcn.10062b7a
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.100626da
mov edi, eax
test edi, edi
je 0x10066016
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10062ad3
push edi
jmp 0x100647a6
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x1006586d
mov ecx, edi
call fcn.100629d7
test al, al
je 0x10065903
mov ecx, edi
call fcn.100626df
cmp eax, 7
jae 0x100658fc
push dword [eax*4 + 0x1009d1b8]
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp case.0x10063202.1
cmp esi, 3
jne 0x10065947
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
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 + 0x3c], bl
call fcn.10069382
pop ecx
pop ecx
test al, al
je 0x100658be
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
movzx ebx, bl
push 1
pop eax
cmove ebx, eax
mov byte [esp + 0x34], bl
push 0x68
pop eax
push 0x6a
pop ecx
cmp bl, 1
cmove eax, ecx
push eax
jmp 0x1006585f
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065947
mov ecx, edi
call fcn.100629d7
test al, al
je 0x10065903
mov ecx, edi
call fcn.100626df
cmp eax, 2
je 0x100658fc
cmp eax, 7
jae 0x100658fc
push dword [eax*4 + 0x1009d6a0]
jmp 0x1006585f
push 0x31
jmp 0x10063cf4
mov ecx, edi
call fcn.100626da
cmp eax, 2
jb case.default.0x10063202
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069480
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x14], eax
jmp 0x10063f1d
cmp esi, 2
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
test eax, eax
je 0x10066016
mov ecx, edi
call fcn.100626da
cmp eax, esi
je 0x10065984
mov ecx, edi
call fcn.100626da
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10062891
cmp esi, eax
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069480
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x100659b0
push edx
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp case.0x10063202.1
cmp esi, 3
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x100659eb
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
jne 0x100659eb
push 1
jmp 0x100659a2
mov byte [esp + 0x34], 2
jmp case.0x10063202.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10065ad6
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 1
jne 0x10065a63
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065a51
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10065a5f
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10065a7f
mov ecx, ebx
call fcn.100626df
cmp eax, 1
jne case.default.0x10063202
push 2
jmp 0x10063e05
cmp esi, 0x19
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
xor ebx, ebx
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], dl
cmp eax, ebx
jne 0x10065ac2
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
je case.0x10063202.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.10062b2a
mov byte [esp + 0x34], bl
jmp case.0x10063202.63
call fcn.100626da
test eax, eax
je 0x10066016
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
cmp esi, 0xa
jne 0x10065b19
mov ecx, ebx
call fcn.100626df
cmp eax, 1
jne case.default.0x10063202
push 2
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp 0x100635c1
cmp esi, 0x1a
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
xor ebx, ebx
movzx eax, al
xor cl, cl
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x38], ecx
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], cl
cmp eax, ebx
jne 0x10065b62
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
je 0x100635c1
push 0x10
lea ecx, [esp + 0x10]
call fcn.10062b2a
mov al, bl
jmp 0x10065485
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100636dc
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x18], eax
mov ecx, dword [edi]
and ecx, 0xff000fff
cmp ecx, 0x1000021
je 0x10065ba2
cmp eax, 4
jmp 0x1006417e
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x10064195
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10065bf4
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, ebx
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
jmp 0x100632e6
cmp esi, 0xca
jne 0x10065c40
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069426
mov ecx, ebx
call fcn.100626df
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x100635c3
push edx
lea ecx, [esp + 0x10]
call fcn.10062ad3
cmp esi, 0x49
jne 0x10065c67
mov ecx, dword [ebp + 0x14]
call fcn.100626df
cmp eax, 1
jne case.default.0x10063202
mov ecx, edi
jmp 0x10063f30
cmp esi, 0x4a
jne case.default.0x10063202
mov ecx, dword [ebp + 0x14]
call fcn.100626df
cmp eax, 1
jne case.default.0x10063202
mov ecx, ebx
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, ebx
mov esi, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
test eax, eax
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
xor edx, edx
mov ecx, eax
call fcn.10062718
test al, al
je case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov edi, eax
call fcn.100626d0
test al, al
je 0x10065ce7
mov ecx, ebx
call fcn.100626da
cmp eax, edi
jne 0x10066116
push edi
lea ecx, [esp + 0x10]
call fcn.1006943b
jmp 0x10063439
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, edi
mov esi, edi
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
test eax, eax
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626a5
xor edx, edx
mov ecx, eax
call fcn.10062718
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.100626da
mov ecx, edi
mov ebx, eax
call fcn.100626d0
test al, al
je 0x10065d55
mov ecx, edi
call fcn.100626da
cmp eax, ebx
jne 0x10066116
push ebx
jmp 0x10065ce8
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063202
mov ecx, edi
call fcn.100626a5
mov ecx, eax
call fcn.10062762
mov ecx, ebx
mov esi, eax
call fcn.100626a5
mov ecx, eax
call fcn.10062762
cmp esi, eax
jne case.default.0x10063202
mov ecx, edi
mov esi, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062771
test al, al
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626da
mov ebx, eax
test ebx, ebx
je 0x10066016
jmp 0x10065d46
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065e83
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
jne 0x10066116
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne case.0x10063202.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10065e45
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062871
push 4
pop ecx
jmp 0x10065e53
mov edx, esi
call fcn.10062871
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065e6e
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x100640e4
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10062871
add dword [esp + 0x14], 4
jmp case.0x10063202.63
cmp esi, 0xa
jne 0x10065ecf
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, ebx
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne 0x100635c1
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063bd0
jmp 0x10063bb3
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
lea ecx, [esp + 0xc]
call fcn.10062a76
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10066002
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626da
cmp eax, 1
jne 0x10065f77
mov ecx, edi
call fcn.10062977
lea ecx, [esp + 0x20]
test al, al
jne 0x10065f47
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062871
jmp 0x10065f56
mov edx, Ordinal_2
call fcn.10062871
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10065fb1
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x78], 4
call fcn.100626da
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x7c]
call fcn.100693dc
mov byte [esp + 0x34], al
cmp dword [esp + 0x18], 0
jne case.0x10063202.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
jne case.0x10063202.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, edi
call fcn.100626da
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp case.0x10063202.1
cmp esi, 0x1a
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
test eax, eax
jne 0x1006601d
push 0x34
jmp 0x100630c6
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x80], 4
call fcn.100626da
mov dword [esp + 0x84], eax
lea edx, [esp + 0x80]
lea ecx, [esp + 0x84]
jmp 0x10065480
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063202.61
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.1006943b
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
cmp eax, 1
jne 0x100635c3
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100660c9
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100660d7
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x100635c3
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066243
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
cmp esi, eax
je 0x1006611d
push 0x35
jmp 0x100630c6
cmp esi, 1
je 0x10065e10
cmp dword [esp + 0x54], 0x668
jne 0x1006623d
cmp dword [esp + 0x14], 0
je 0x10066146
cmp dword [esp + 0x18], 0
jne 0x1006623d
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062885
test al, al
je 0x10066174
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x10066174
cmp esi, 4
jb 0x10066174
cmp esi, 8
jne 0x1006623d
push 0x8000000
jmp 0x1006619f
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.100693e4
test al, al
jne 0x1006623d
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.1006943b
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062b35
push 0x90
lea ecx, [esp + 0x10]
call fcn.10062b40
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062bf5
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10062af9
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10062bd3
test al, al
jne 0x10066c78
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100693ea
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10062ad3
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10062c14
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.10062cc0
jmp 0x100633b2
push esi
jmp 0x10064809
cmp esi, 0xa
jne case.default.0x10063202
jmp 0x10065e88
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006629d
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100693e4
test al, al
je case.0x10063202.63
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x10063ae2
cmp esi, 0x11
je 0x100638ff
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x100639e0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006636c
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x100663bf
test edx, edx
jne case.default.0x10063202
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10062b4b
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d170]
lea ecx, [esp + 0x20]
push eax
call fcn.100693ea
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.0x10063202.0
cmp esi, 2
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.10062b1f
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10062b35
jmp 0x100635c1
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x100663bb
cmp esi, edx
jne 0x1006636c
mov ecx, edi
call fcn.100626df
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.0x10063202.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10066473
mov ecx, edi
mov ebx, edi
call fcn.100626da
mov esi, dword [esp + 0x48]
cmp eax, 4
jne 0x1006640b
push 0x1000
mov ecx, esi
call fcn.10062aa7
test al, al
jne 0x100635c3
mov ecx, edi
call fcn.100626da
cmp eax, 8
jne 0x1006642e
push 0x2000
mov ecx, esi
call fcn.10062aa7
test al, al
je 0x1006642e
push 4
jmp 0x1006420c
mov ecx, edi
call fcn.100626da
cmp eax, 0xa
jne case.default.0x10063202
push 0x800
mov ecx, esi
call fcn.10062aa7
test al, al
je case.default.0x10063202
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
lea ecx, [esp + 0xc]
call fcn.10062a76
jmp 0x10063906
cmp esi, edx
jne case.default.0x10063202
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10066497
mov ecx, edi
call fcn.100626df
add eax, 0x364c0
jmp 0x1006631b
cmp eax, 0xec
jne 0x100664af
mov ecx, edi
call fcn.100626df
add eax, 0x374d0
jmp 0x1006631b
cmp eax, 0xef
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
add eax, 0x374d8
jmp 0x1006631b
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063202
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, edi
mov ebx, edi
call fcn.100626da
mov esi, dword [esp + 0x48]
cmp eax, 2
jne 0x1006650b
push 0x800
mov ecx, esi
call fcn.10062aa7
test al, al
jne 0x10066427
mov ecx, edi
call fcn.100626da
cmp eax, 4
jne 0x1006652b
push 0x1000
mov ecx, esi
call fcn.10062aa7
test al, al
jne 0x100635c3
mov ecx, edi
call fcn.100626da
cmp eax, 8
jne case.default.0x10063202
push 0x2000
mov ecx, esi
call fcn.10062aa7
test al, al
je case.default.0x10063202
mov ecx, dword [esp + 0x40]
call fcn.10062be9
and eax, 0xffff1fff
jmp 0x1006645b
test esi, esi
jne case.0x10063202.70
push edx
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp case.0x10063202.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
push eax
jmp 0x10066567
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100665ae
mov ecx, edi
call fcn.100626df
test eax, eax
jne case.default.0x10063202
mov ecx, dword [esp + 0x40]
call fcn.10062be9
jmp 0x1006631b
cmp esi, 2
jne case.default.0x10063202
jmp 0x10066394
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x100665fc
mov ecx, ebx
call fcn.100629b7
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694c6
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x100642f9
cmp esi, 0xca
jne case.default.0x10063202
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, ebx
call fcn.100629b7
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694c6
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x100639e0
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066693
mov ecx, ebx
call fcn.100629b7
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694c6
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10063f3f
cmp esi, 0xca
jne case.default.0x10063202
jmp 0x10066619
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100666ed
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100693e4
test al, al
je case.0x10063202.63
mov eax, dword [esp + 0x40]
cmp byte [eax + 7], 0
je case.0x10063202.63
mov ecx, eax
jmp 0x10066289
cmp esi, 0x11
je 0x100638ff
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x100639d7
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10066729
mov ecx, edi
call fcn.100626da
cmp eax, 1
je case.default.0x10063202
jmp 0x10064eb3
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626da
cmp eax, 1
je case.default.0x10063202
jmp 0x10065c81
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066807
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100629c7
test al, al
je 0x100667bb
mov ecx, ebx
call fcn.100629c7
test al, al
je 0x100667bb
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100693e4
test al, al
je case.0x10063202.63
push 0x10
jmp 0x10063ad9
mov ecx, edi
call fcn.100629b7
test al, al
je 0x10066887
mov ecx, ebx
call fcn.100629b7
test al, al
je 0x10066887
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100693e4
test al, al
je case.0x10063202.63
push 0x2001d6
jmp 0x1006628f
cmp esi, 0x11
jne 0x10066847
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100629c7
test al, al
je 0x10066835
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x100635c3
mov ecx, edi
call fcn.100629b7
test al, al
je 0x10066887
push 0x40017e
jmp 0x10066827
cmp esi, 0xa
jne 0x10066887
mov ecx, ebx
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100629c7
test al, al
je 0x10066875
push 0x17f
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x100635c1
mov ecx, ebx
call fcn.100629b7
test al, al
je 0x10066887
push 0x2001d6
jmp 0x10066867
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x48], eax
call fcn.10062b40
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 0x100668d3
mov ecx, ebx
call fcn.100626f9
test al, al
je 0x100668dc
jmp 0x10064304
cmp esi, 0x11
je 0x100635c3
push dword [esp + 0x44]
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
mov ecx, ebx
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100629b7
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694c6
cmp esi, 9
jne 0x10063761
mov ecx, edi
call fcn.100626f9
jmp 0x1006389a
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10066949
xor edx, edx
mov ecx, eax
call fcn.10062a3a
test al, al
je case.default.0x10063202
and esi, 0x3f
jmp case.0x10063202.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10066949
push 7
pop edx
mov ecx, eax
call fcn.10062b7a
jmp 0x10066941
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x1006697c
mov edx, dword [esp + 0x44]
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 0x100638e7
cmp esi, 0x11
jne case.default.0x10063202
mov eax, dword [edi + 4]
jmp 0x10063906
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100669f3
mov ecx, edi
call fcn.100629b7
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100629b7
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.100694d5
mov ecx, edi
call fcn.100626df
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x100645ec
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, edi
call fcn.100629b7
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694c6
jmp 0x100638ff
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100642f9
cmp esi, 0x11
je 0x100638ff
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
lea ecx, [esp + 0xc]
call fcn.10062a76
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x1006371e
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100669bd
cmp esi, 0x11
je 0x100669fc
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
lea ecx, [esp + 0xc]
call fcn.10062a76
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063202
mov ecx, edi
call fcn.100629b7
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694c6
jmp 0x10066a51
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 + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
je 0x100642f9
cmp esi, 0xd1
jmp 0x100638f9
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
je 0x100669bd
cmp esi, 0xd1
jmp 0x100669f6
mov ecx, dword [ebp + 0xc]
call fcn.100626df
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10063202.63
cmp esi, 0xd9
jne case.default.0x10063202
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.10062a76
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x34], 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.0x10063202.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.0x10063202.63
cmp ecx, 0x6c9
jne case.default.0x10063202
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, dword [ebp + 0x18]
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
mov ecx, dword [ebp + 0x14]
jmp 0x10066b9d
mov edi, dword [ebp + 0xc]
and dword [esp + 0x2c], 0
movzx eax, cl
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
mov dword [esp + 0xc], 0x10f
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
cmp esi, 9
je 0x10064304
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x100633f3
jmp 0x100635c7
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x100630cb
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 0x10066cd1
push 0x18
lea ecx, [esp + 0x10]
call fcn.10062b54
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10069409
jmp case.0x10063202.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100693fc
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100693fc
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp case.0x10063202.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066d96
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100626f9
test al, al
je 0x10066d4c
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp case.0x10063202.93
mov ecx, edi
call fcn.100626f9
test al, al
je 0x10066d63
mov ecx, dword [esp + 0x40]
call fcn.10062be9
inc eax
jmp 0x10066d3d
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100693e4
test al, al
je case.0x10063202.93
push 1
lea ecx, [esp + 0x10]
call fcn.10062ad3
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10038fe7
jmp case.0x10063202.93
cmp esi, 0x11
jne 0x10066da7
mov ecx, edi
call fcn.100626df
jmp 0x10067e51
cmp esi, 0xa
jne case.default.0x10063202
push edx
lea ecx, [esp + 0x10]
call fcn.10062ad3
jmp 0x10067e48
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100626a5
mov ecx, eax
call fcn.10062987
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.100694b7
jmp case.0x10063202.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063202
mov ebx, edi
jmp 0x10067e55
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 + 0x1009d5e0]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x100678df
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626da
mov ecx, eax
call fcn.10062bbd
mov ecx, edi
mov dword [esp + 0x88], eax
call fcn.10062bad
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x8c]
call fcn.100693d4
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp 0x10067e48
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x10063202.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626df
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x34], 1
jmp case.0x10063202.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 + 0x1009d5e0]
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 + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
jne 0x10066f26
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10068d38
cmp esi, 0xca
jmp 0x10067e42
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10066f4b
push 7
pop edx
mov ecx, eax
call fcn.10062b7a
test al, al
je case.default.0x10063202
and esi, 0x3f
jmp case.0x10063202.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 + 0x44]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x10063202.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10066fa4
mov ecx, ebx
call fcn.100626da
mov ecx, eax
call fcn.10062bbd
push eax
jmp 0x10066fb9
mov ecx, edi
call fcn.100626da
cmp eax, 0x20
jne case.0x10063202.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp case.0x10063202.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x10063202.106
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626f9
test al, al
je case.0x10063202.106
mov ecx, edi
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
or esi, eax
mov ecx, esi
call fcn.10062bbd
mov ecx, dword [esp + 0x40]
mov esi, eax
call fcn.10062be9
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.10062b1f
mov ecx, edi
call fcn.100626df
jmp 0x10068d2d
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 + 0x1009d5e0]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006704c
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10068d38
cmp esi, 0x11
jne case.default.0x10063202
mov eax, dword [edi + 4]
jmp 0x10067e51
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov ecx, eax
call fcn.10062bbd
mov ecx, ebx
mov dword [esp + 0x90], eax
call fcn.10062bad
mov dword [esp + 0x94], eax
lea edx, [esp + 0x90]
lea ecx, [esp + 0x94]
call fcn.100693d4
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp 0x10066d9b
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x3c], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10062708
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.10062708
test al, al
je case.default.0x10063202
mov ecx, dword [ebp + 0x14]
call fcn.10062708
test al, al
je case.default.0x10063202
mov ecx, dword [ebp + 0x18]
call fcn.10062708
test al, al
je case.default.0x10063202
mov ecx, dword [esp + 0x3c]
call fcn.10062708
test al, al
je case.default.0x10063202
mov ecx, esi
call fcn.100626bb
test al, al
je case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.100626df
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.100626df
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
call fcn.100626df
mov edx, eax
test bl, 3
jne 0x1006717f
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x1006717f
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x1006717f
lea eax, [ebx + 3]
cmp edx, eax
jne 0x1006717f
mov ecx, edi
call fcn.100626df
mov edx, ebx
mov ecx, eax
call fcn.10062ba6
mov ebx, dword [esp + 0x24]
jmp 0x10067e51
push 0x3c
jmp 0x10063cf4
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 + 0x44]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x10063202.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 + 0x1009d5e0]
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 + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
je 0x1006703d
cmp esi, 0xd1
jne case.default.0x10063202
jmp 0x10066d9b
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10063202.115
push 2
pop edx
mov ecx, eax
call fcn.10062718
test al, al
je case.default.0x10063202
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 + 0x44]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x44]
or ecx, eax
or dword [esp + 0xc], ecx
jmp 0x1006729b
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 + 0x1009d5e0]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100673a3
cmp esi, 0x89
jne case.default.0x10063202
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10067e51
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
test al, 1
jne 0x1006734c
mov ecx, edi
call fcn.100626df
mov ecx, ebx
lea esi, [eax + 1]
call fcn.100626df
cmp esi, eax
jne 0x1006734c
mov ecx, dword [ebp + 0x14]
call fcn.100626da
mov ecx, eax
call fcn.10062bbd
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
mov ecx, dword [ebp + 0x14]
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626ae
mov ecx, ebx
test al, al
jne 0x10068d33
call fcn.100626bb
test al, al
je case.default.0x10063202
jmp 0x10067e55
push 0x1d
jmp 0x10063cf4
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 + 0x1009d5e0]
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 + 0x38], eax
mov byte [esp + 0x34], al
cmp ecx, 0x249
jne 0x100673bb
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 0x10068d38
cmp ecx, 0x289
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ebx, dword [ebp + 0x14]
jmp 0x10067e51
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.0x10063202.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 + 0x1009d5e0]
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 + 0x38], eax
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x50]
cmp eax, 0x649
je 0x100673a3
cmp eax, 0x689
jmp 0x100673c1
mov ecx, dword [ebp + 0xc]
call fcn.10062987
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10062987
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.100694e3
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10068d13
cmp esi, 0x51
jne case.default.0x10063202
mov ecx, dword [ebp + 0x14]
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
jmp 0x10067e51
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063202.128
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
mov ecx, eax
call fcn.10062bbd
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.10062bad
mov dword [esp + 0x9c], eax
lea edx, [esp + 0x98]
lea ecx, [esp + 0x9c]
jmp 0x1006709a
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x10063202
mov ecx, edi
call fcn.100626da
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.100626da
or esi, eax
mov ecx, esi
call fcn.10062bbd
mov ecx, ebx
mov dword [esp + 0xa0], eax
call fcn.10062bad
lea edx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0xa4]
call fcn.100693d4
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp 0x100674cd
mov ecx, dword [ebp + 0x18]
call fcn.100626a8
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x10068d13
cmp eax, 0x651
jmp 0x100674c7
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067683
mov ecx, edi
call fcn.100626f9
test al, al
je 0x1006762f
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
mov ecx, edi
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069450
mov ecx, ebx
call fcn.100626df
mov ecx, edi
jmp 0x10068d2f
mov ecx, ebx
call fcn.100626f9
test al, al
je 0x10067650
mov ecx, ebx
call fcn.100626da
push eax
lea ecx, [esp + 0x10]
call fcn.10069450
jmp 0x1006700e
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062b4b
test eax, eax
je 0x100676b6
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062b35
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp 0x1006700e
cmp esi, 0x11
jne 0x100676ba
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062b4b
test eax, eax
je 0x10066d9b
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062b35
push 0x40017e
jmp 0x100670a0
mov eax, dword [esp + 0x40]
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
cmp esi, 0xa
jne case.default.0x10063202
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062b4b
test eax, eax
je 0x10067e48
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062b35
push 0x2001d6
jmp 0x10066e6f
mov ecx, dword [ebp + 0xc]
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
or esi, eax
mov ecx, esi
call fcn.10062bbd
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006700e
cmp esi, 0x11
je 0x10066d9b
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
jmp 0x10067e3f
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x100677d6
mov ecx, dword [ebp + 0x14]
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100693e4
test al, al
je case.0x10063202.93
lea ecx, [esp + 0xc]
call fcn.10062ade
mov ecx, ebx
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ecx, dword [ebp + 0x14]
jmp 0x10068d2f
cmp esi, 0x51
je 0x100674cd
cmp esi, 0x89
jne case.default.0x10063202
lea ecx, [esp + 0xc]
call fcn.10062ade
jmp 0x100673c7
mov ecx, dword [ebp + 0xc]
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
or esi, eax
mov ecx, esi
call fcn.10062bbd
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100677b5
cmp esi, 0x89
je 0x100673c7
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
mov ecx, dword [ebp + 0x14]
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
jne 0x10067205
jmp 0x1006700e
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x1006776d
cmp esi, 0x51
je 0x100674cd
cmp esi, 0x89
je 0x100677eb
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x10067850
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100677b5
cmp esi, 0x89
je 0x100673c7
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
cmp esi, 9
je 0x10067621
jmp 0x10067e3f
mov ecx, dword [ebp + 0xc]
call fcn.100626da
mov ecx, ebx
mov esi, eax
call fcn.100626da
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009d5e0]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100673a3
cmp esi, 0x89
je 0x100673c7
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
cmp esi, 0x4a
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
jmp 0x10067e4f
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 + 0x1009d5e0]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100673a3
cmp esi, 0x89
je 0x100673c7
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10062b35
mov ecx, dword [esp + 0x40]
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
lea ecx, [esp + 0xc]
call fcn.10062a76
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100626a5
mov ecx, eax
call fcn.100627a1
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
jne 0x10067a27
mov ecx, edi
call fcn.100626df
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10068d28
cmp esi, 0xd1
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100674e2
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 + 0x44]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067a8e
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10067044
cmp esi, 0x11
jmp 0x10067a2d
cmp esi, 0xd1
jne case.0x10063202.146
lea ecx, [esp + 0xc]
call fcn.10062ae7
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 + 0x1009d5e0]
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 0x10067b09
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10067af3
mov ecx, ebx
call fcn.100626da
cmp eax, 8
je 0x10067af3
xor eax, eax
jmp 0x10067af7
mov eax, dword [esp + 0x44]
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 + 0x34], al
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
je 0x10067a7f
cmp esi, 0xd1
jne case.default.0x10063202
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10067e55
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.100626da
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009d5e0]
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 + 0x3c]
cmp eax, 0x249
jne 0x10067b9b
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 0x10066ebf
cmp eax, 0x449
jne 0x10067bee
lea ecx, [esp + 0xc]
call fcn.10062ade
mov ecx, ebx
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100626df
shl eax, 4
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10067e55
cmp eax, 0x289
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10067bca
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.0x10063202
call fcn.100626a8
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x58], eax
call fcn.100626da
mov ecx, edi
mov esi, eax
call fcn.100626da
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.100626da
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.100626da
or eax, esi
mov ecx, eax
call fcn.10062bbd
push eax
lea ecx, [esp + 0x10]
call fcn.10062b40
mov ecx, dword [esp + 0x50]
call fcn.100626a5
mov ecx, eax
call fcn.100693cb
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 + 0x38], eax
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x58]
cmp eax, 0x249
jne 0x10067cf1
mov ecx, ebx
call fcn.100626df
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626df
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.100626df
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10063202.93
cmp eax, 0x449
jne 0x10067d35
lea ecx, [esp + 0xc]
call fcn.10062ade
mov ecx, ebx
call fcn.100626df
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100626df
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10067e55
cmp eax, 0x289
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10067d20
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100673a3
cmp esi, 0x11
je 0x10066d9b
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, eax
call fcn.10062be9
push eax
lea ecx, [esp + 0x10]
call fcn.10062b1f
jmp 0x10067e48
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 + 0x1009d5e0]
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 0x10067b9b
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 0x10067e09
lea ecx, [esp + 0xc]
call fcn.10062ade
mov ecx, dword [ebp + 0x18]
call fcn.100626df
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100626df
jmp 0x10067b8e
mov ecx, dword [ebp + 0x14]
call fcn.100626df
mov ecx, dword [ebp + 0x18]
jmp 0x10067dfb
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063202
mov ecx, edi
call fcn.100626df
mov dword [esp + 0x14], eax
jmp case.0x10063202.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x1006720b
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063202
mov ecx, ebx
call fcn.100626df
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.100626a8
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062762
mov ecx, ebx
movzx eax, byte [eax + 0x1009d1d8]
mov dword [esp + 0x44], eax
call fcn.100626a5
mov ecx, eax
call fcn.10062a76
push eax
lea ecx, [esp + 0x20]
call fcn.10062c6c
lea ecx, [esp + 0x1c]
call fcn.100627b8
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.10062a9a
test dword [esp + 0x44], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069417
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062744
test al, al
je 0x10067edd
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062752
test al, al
je 0x10067f03
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006276d
mov dword [esp + 0x24], eax
jmp 0x10067f08
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a87
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.100626df
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.10062b09
mov ecx, dword [esp + 0x48]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x40], eax
call fcn.100627b8
mov ecx, eax
call fcn.10062862
mov edx, 0x400000
mov ecx, eax
call fcn.10062a9e
mov esi, dword [esp + 0x40]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x40], esi
call fcn.10062867
mov edx, 0x80000
mov ecx, eax
call fcn.10062867
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.100693e4
test al, al
je 0x10067ffb
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10062867
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100693e4
test al, al
jne 0x10068de8
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.1006286c
or esi, eax
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x48]
call fcn.10062abb
test al, al
je 0x10068035
test esi, 0x80df8110
jne 0x10068041
mov edx, 0x400
mov ecx, 0x800
call fcn.10062867
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100693e4
test al, al
jne 0x10068035
or esi, 0x10
mov dword [esp + 0x40], esi
test esi, 0x80df8110
je 0x100681b5
push 4
lea ecx, [esp + 0x10]
call fcn.10062b5c
mov edx, dword [esp + 0x40]
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.10062b5c
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x3c], eax
test eax, 0x10000000
je 0x10068166
mov ecx, dword [esp + 0x48]
call fcn.10062ac9
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.100626a5
mov ecx, eax
call fcn.10062a91
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x1006815f
mov esi, dword [esp + 0x3c]
mov ecx, edx
mov eax, esi
mov dword [esp + 0xa8], 4
and eax, 0x60000000
mov dword [esp + 0xb4], eax
call fcn.10069535
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xac]
call fcn.100693d4
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0xb0], eax
cmp eax, 0x40000000
ja 0x1006815f
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xb4]
call fcn.100693d4
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10062b35
mov ecx, dword [esp + 0x50]
call fcn.10069535
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.10062b40
jmp 0x100681a6
push 0x29
jmp 0x10068b1a
push 0x19
lea ecx, [esp + 0x10]
call fcn.10062b5c
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.10062b5c
mov ecx, dword [esp + 0x3c]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009d0a8]
lea ecx, [esp + 0x10]
call fcn.10062ad3
mov esi, dword [esp + 0x3c]
push esi
lea ecx, [esp + 0x20]
call fcn.10069409
jmp 0x1006825f
push 0xd
lea ecx, [esp + 0x10]
call fcn.10062b5c
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.10062b5c
mov ecx, dword [esp + 0x40]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x40]
or esi, eax
call fcn.10062bdd
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10062b35
test esi, 0x8000807e
je 0x1006823b
push 0x18
lea ecx, [esp + 0x10]
call fcn.10062b54
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d178]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10069409
jmp 0x1006826c
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100693fc
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100693fc
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, dword [esp + 0x48]
push 0x100000
call fcn.10062aa7
test al, al
jne 0x10068921
mov eax, dword [esp + 0x44]
test al, 0x42
jne 0x1006881a
test al, 1
je 0x10068425
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10062bc8
pop ecx
mov ecx, dword [esp + 0x48]
mov esi, eax
call fcn.10062ab3
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x10068340
test al, al
jne 0x10068340
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x100682ea
test ebx, ebx
jne 0x100682ea
push esi
jmp 0x1006836f
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062b4b
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.100694f1
test al, al
je 0x1006832a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp ebx, eax
jne 0x1006832a
lea eax, [esi + 0x40]
jmp 0x100683d4
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push ebx
jmp 0x1006880c
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x1006837d
cmp dword [esp + 0x54], 0
jne 0x1006837d
push esi
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x10066223
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062b4b
mov ecx, eax
mov eax, dword [esp + 0x54]
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.100694f1
test al, al
je 0x100683f4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x100683f4
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.100693fc
jmp 0x10066223
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x54]
jmp 0x1006880c
test al, 0x30
jne 0x10068764
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a53
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.1006287f
test al, al
je 0x10068479
cmp esi, 2
je 0x10065518
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062bc8
jmp 0x10068750
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], esi
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.1006287b
mov ecx, eax
call fcn.10062826
mov ecx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x10068582
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10068547
cmp dword [esp + 0x3c], esi
je 0x1006872b
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1006858b
mov ebx, dword [esp + 0x58]
mov al, byte [ebx]
cmp al, 0x67
je 0x1006872b
cmp dword [esp + 0x54], 0x17e
jne 0x1006871f
movzx eax, al
test al, 0x40
je 0x1006872b
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x1006872b
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.100693e4
test al, al
jne 0x1006872b
push ebx
lea ecx, [esp + 0x20]
call fcn.10062940
jmp 0x1006872b
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a76
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10068573
cmp dword [esp + 0x3c], esi
je 0x1006856e
cmp dword [esp + 0x48], 0
jne 0x10068573
xor eax, eax
inc eax
jmp 0x10068575
xor al, al
cmp ecx, 5
jae 0x10068660
test al, al
jmp 0x10068585
cmp eax, 2
jne 0x10068660
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.1006291b
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
push 0
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x48]
pop eax
adc eax, edx
and ecx, dword [esp + 0x40]
mov dword [esp + 0x38], eax
cmp ecx, 0xffffffff
je 0x1006867d
mov ecx, dword [edi + 0x68]
call fcn.100627b8
test eax, eax
jne 0x1006867d
mov ecx, dword [edi + 0x68]
call fcn.100627bb
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x50]
mov ecx, ebx
adc edi, dword [esp + 0x38]
add esi, dword [esp + 0x44]
adc edi, dword [esp + 0x40]
add esi, 5
adc edi, 0
call fcn.100626a5
mov ecx, eax
call fcn.10062786
sub eax, esi
mov dword [esp + 0x50], eax
sbb edx, edi
push edx
push eax
call fcn.100693a8
pop ecx
pop ecx
test al, al
je 0x10068642
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.10069409
jmp 0x10063399
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a5c
mov edi, dword [esp + 0x10]
test al, al
jne 0x10065518
mov esi, dword [esp + 0x64]
cmp dword [esp + 0x3c], esi
je 0x1006872b
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100684eb
push 0x2e
jmp 0x10068b1a
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.1006a0a5
test eax, eax
jne 0x100630cb
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, dword [edi + 0x68]
call fcn.100627b8
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100628ae
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.100627c7
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.1006291b
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100627ec
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062786
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10069500
jmp 0x10066223
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.1006950b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push dword [esp + 0x24]
jmp 0x1006880c
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, edi
call fcn.1006287f
test al, al
jne 0x10068ab9
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
test byte [esp + 0x44], 0x10
mov esi, eax
je 0x1006880b
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov ecx, dword [edi + 0x2c]
push eax
call fcn.1006282d
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068b18
mov eax, dword [esp + 0x38]
push 0xfffffffffffffffc
movzx eax, al
pop ecx
sub ecx, eax
lea eax, [edi + 0x68]
push dword [eax]
add esi, ecx
mov dword [esp + 0x4c], eax
mov ecx, ebx
mov dword [esp + 0x40], esi
call fcn.1006280e
test al, al
je 0x10064aed
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.1006291b
mov ecx, ebx
sub esi, eax
call fcn.1006281b
add eax, esi
push eax
jmp 0x1006880c
push esi
lea ecx, [esp + 0x20]
call fcn.10069409
jmp 0x10066223
test al, 0x40
jne 0x10068832
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10068931
push 0x2c
jmp 0x10068b1a
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
movsx edx, ax
mov eax, dword [esp + 0x44]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x3c], edx
mov dword [esp + 0x64], ecx
je 0x100688f6
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x64], 3
jne 0x1006889a
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a7f
test eax, eax
jne 0x10065518
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov al, byte [esi + eax*8 + 0x1009d620]
jmp 0x100688aa
test al, 2
je 0x100688a4
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009d128]
movzx ecx, al
cmp ecx, 0xff
je 0x10065518
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x100688cd
cmp esi, 6
jne 0x100682e4
mov ecx, edx
call fcn.100694f1
lea ecx, [esp + 0x1c]
test al, al
je 0x100688ee
lea eax, [esi + 0x40]
push eax
call fcn.100693fc
push dword [esp + 0x3c]
jmp 0x1006836f
lea eax, [esi + 0x80]
jmp 0x10068909
test al, 0x30
jne 0x10065518
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.100693fc
push dword [esp + 0x3c]
lea ecx, [esp + 0x20]
call fcn.10069525
jmp 0x10066223
mov eax, dword [esp + 0x44]
test al, 2
je 0x100633f3
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x10068a1b
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x40], eax
call fcn.10062bc8
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.100626a5
mov ecx, eax
call fcn.10062a7f
mov edx, esi
mov ecx, eax
call fcn.10062bc8
mov esi, dword [esp + 0x40]
mov ebx, eax
mov dword [esp + 0x5c], ebx
pop ecx
test esi, esi
jne 0x100689aa
cmp dword [esp + 0x18], 5
je 0x100689aa
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push eax
call fcn.100693fc
push ebx
jmp 0x1006836f
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062b4b
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.100694f1
test al, al
je 0x100689fd
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x3c]
shl eax, cl
cmp ebx, eax
jne 0x10068a01
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.100693fc
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x100682e4
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.100693fc
push dword [esp + 0x58]
jmp 0x10068331
test al, 0x30
jne 0x10068a6e
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push 5
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a7f
mov edx, esi
mov ecx, eax
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
jmp 0x10068808
mov ecx, edi
call fcn.1006287f
test al, al
je 0x10065518
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
push 5
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.10062a7f
mov edx, esi
mov ecx, eax
call fcn.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10062822
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10069365
test eax, eax
jne 0x10068cfa
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.1006279d
test byte [esp + 0x44], 0x10
mov dword [esp + 0x58], eax
je 0x10068c54
mov ecx, ebx
call fcn.100626a5
mov ecx, eax
call fcn.100626df
mov ecx, dword [edi + 0x2c]
push eax
call fcn.1006282d
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x10068b20
push 0xc
pop ecx
jmp 0x10068cfd
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a0a5
test eax, eax
jne 0x100630cb
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x48], eax
call fcn.100627b8
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100628ae
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.100627c7
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
movzx eax, al
push eax
push dword [edi + 0x74]
mov dword [esp + 0x6c], eax
call fcn.1006291b
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100627ec
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x58]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, esi
call fcn.10062806
test al, al
je 0x10068bde
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.1006281b
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10062802
mov ecx, eax
call fcn.100627b8
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x1006870f
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.1006291b
push ebx
push 0
lea ecx, [esp + 0xd8]
mov esi, eax
call fcn.100627c7
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x40]
mov ecx, dword [ecx]
push esi
call fcn.100627b8
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.10069cc8
mov esi, eax
test esi, esi
je 0x10068cfa
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10068c45
call fcn.100627b8
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10062924
jmp 0x10066223
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a0a5
test eax, eax
jne 0x100630cb
mov ecx, dword [edi + 0x68]
call fcn.100627b8
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.100627b8
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.100627c7
mov ecx, dword [esp + 0x38]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.1006291b
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100627ec
mov ecx, edi
call fcn.100628ae
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.100627c2
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x58]
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 0x10068711
xor ecx, ecx
inc ecx
call fcn.100626a5
jmp 0x100630cb
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063202
mov ecx, dword [ebp + 0x14]
call fcn.100626df
mov ecx, edi
mov esi, eax
call fcn.100626df
mov edx, esi
mov ecx, eax
call fcn.10062ba6
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100626df
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 0x10068dfb
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10068dfb
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
je 0x10068db4
mov ecx, dword [esp + 0x48]
call fcn.10062ac1
test al, al
jne 0x10068de8
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 4]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x10068de0
shr edx, 2
test dl, 1
je 0x10068de8
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10068df5
shr edx, 3
test dl, 1
jne 0x10068def
push 0x2a
jmp 0x10066c7a
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x48]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x10068e1b
test ecx, esi
jne 0x10068e23
test dword [esp + 0x20], 0xc00
jne 0x10068e1b
or esi, 0x10
test ecx, esi
je 0x10068eb6
mov eax, dword [esp + 0xc]
mov edx, esi
and edx, 0x8000
mov ecx, eax
and eax, dword [esp + 0x44]
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.10069409
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 + 0x34]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10062c86
jmp 0x100633b2
mov eax, dword [esp + 0xc]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, dword [esp + 0x44]
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 0x10068f34
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d178]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10069409
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 0x10068e96
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100693fc
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100693fc
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100693fc
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.10062bc8
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.100693fc
jmp 0x10068e9c
mov edi, eax
jmp 0x100633f3