Function at 0x100663d6
Capabilities:
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 + 0x100a2778]
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 + 0x100a1778]
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 0x100637c4
cmp dword [eax + 0x2c], 0
jne 0x100635b8
push 0
push 5
mov ecx, eax
jmp 0x100636fe
cmp dword [esp + 0x54], 0
je 0x100695ad
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10062ed6
test eax, eax
jne 0x100636e8
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x10063699
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 0x100636ec
mov esi, dword [esp + 0x3c]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a2778]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a1778]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x1006377c
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 0x1006370c
cmp dword [esp + 0x24], 0
jne 0x10063713
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.1006f767
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10063771
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x10063731
mov eax, dword [esp + 0x44]
shr eax, 0x11
test dl, al
jne 0x10063731
push 0x22
jmp 0x100636e7
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x1006374b
mov eax, dword [esp + 0x44]
shr eax, 0x12
test dl, al
jne 0x1006374b
push 0x23
jmp 0x100636e7
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 0x10063775
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x100637c4
mov eax, dword [esp + 0x44]
shr eax, 0xe
test dl, al
je 0x1006382a
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x100637ac
shr eax, 8
test al, 0xf
jne 0x1006382a
cmp dword [ecx + 0x4c], edx
jne 0x1006382a
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 + 0x100a277e]
and dword [esp + 0x18], 0
mov ecx, dword [eax*4 + 0x100a5b70]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a277d]
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.0x10063823
mov edi, dword [esp + 0x58]
mov dword [esp + 0x44], 0x8000000
jmp dword [edi*4 + 0x100695b5]
push 0x24
jmp 0x100636e7
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 + 0x1009d1e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10069a0b
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 0x10067295
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.10063235
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 0x100639ba
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10063823
lea ecx, [esp + 0xc]
call fcn.10063111
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x10063823.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d12
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009d248]
call fcn.100630bb
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069a38
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d1e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10069a0b
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10067295
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.10063235
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100632e1
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.10062f7a
xor eax, eax
jmp 0x10063703
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063823.1
cmp esi, edx
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
test eax, eax
je case.0x10063823.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x1006729b
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063823.1
cmp esi, 9
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
cmp eax, 2
jne case.default.0x10063823
mov ecx, ebx
jmp 0x10063a03
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063823.1
cmp esi, 2
jne case.default.0x10063823
xor edx, edx
mov ecx, edi
call fcn.1006319b
test al, al
je case.default.0x10063823
mov esi, edi
mov ecx, esi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d83
mov ecx, esi
movzx ebx, byte [eax + 0x1009d248]
call fcn.10062cc6
mov ecx, eax
call fcn.10062d92
test al, al
jne case.default.0x10063823
test bl, 2
jne case.default.0x10063823
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063216
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006311a
mov edi, eax
mov ecx, edi
call fcn.100631f4
test al, al
jne 0x10067295
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10069a0b
mov ecx, esi
call fcn.10062cc6
mov ecx, eax
call fcn.10063097
push eax
lea ecx, [esp + 0x20]
call fcn.1006328d
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.100630bb
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069a38
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063235
xor eax, eax
push eax
push eax
push eax
jmp 0x10066850
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10063b40
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x10063823.1
cmp esi, 0x19
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
mov ecx, ebx
jmp 0x10063b1e
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x10063823.11
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
xor edx, edx
inc edx
jmp case.0x10063823.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b4998]
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.0x10063823.63
mov ebx, edi
cmp esi, 2
je 0x10063be4
jmp case.default.0x10063823
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x10063823.14
push 2
pop edx
mov ecx, ebx
call fcn.10063041
test al, al
je case.default.0x10063823
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10063041
test al, al
je case.default.0x10063823
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10062cc9
push 0xe000
lea ecx, [esp + 0x10]
call fcn.1006316c
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d83
mov ecx, ebx
movzx eax, byte [eax + 0x1009d248]
mov dword [esp + 0x44], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10063097
push eax
lea ecx, [esp + 0x20]
call fcn.1006328d
lea ecx, [esp + 0x1c]
call fcn.10062dd9
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.100630bb
test dword [esp + 0x44], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10069a38
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063216
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062d8e
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.1006311a
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.100631f4
test al, al
jne 0x10067299
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069a0b
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10063235
jmp 0x100688a3
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063823
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063823.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.10063140
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x10063d46
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, edi
jmp 0x10064c0d
cmp esi, 2
jne 0x10063d61
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp 0x10063be2
mov ecx, ebx
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
cmp esi, 9
je 0x10063d3f
cmp esi, 0xa
jmp 0x10063d00
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d83
mov ecx, edi
movzx ebx, byte [eax + 0x1009d248]
call fcn.10062cc6
mov ecx, eax
call fcn.10062d92
test al, al
jne case.default.0x10063823
test bl, 2
jne case.default.0x10063823
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063216
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006311a
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.100631f4
test al, al
jne 0x10067295
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069a0b
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10062cc6
mov ecx, eax
call fcn.10063097
push eax
lea ecx, [esp + 0x20]
call fcn.1006328d
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.100630bb
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069a38
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063235
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x10063b0a
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10063ec8
push 2
pop edx
mov ecx, ebx
call fcn.10063041
test al, al
je case.default.0x10063823
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10063041
test al, al
je case.default.0x10063823
jmp 0x10063d3f
cmp esi, edx
jne case.default.0x10063823
mov ecx, edi
call fcn.10062fc8
jmp 0x10063ebb
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063823
jmp 0x10063d3f
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b4998]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063f17
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10064c12
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x14], eax
jmp 0x10063be4
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063f80
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 2
jne 0x10063f6a
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp case.0x10063823.63
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a71
jmp case.0x10063823.63
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 2
jne 0x10063fb0
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x10063be4
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a71
jmp 0x10063be4
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b4998]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063ff8
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10063823.63
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov dword [esp + 0x14], eax
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064115
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne 0x10066737
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne 0x100640e2
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x1006409d
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
push 4
pop ecx
jmp 0x100640ab
mov edx, esi
call fcn.10062e92
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100640d2
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
jmp 0x100640e2
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10062e92
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10069a05
test al, al
je case.0x10063823.63
push 2
lea ecx, [esp + 0x10]
call fcn.100630f4
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10039576
jmp case.0x10063823.63
cmp esi, 0x11
jne 0x10064194
push 2
lea ecx, [esp + 0x10]
call fcn.100630f4
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10063be4
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064180
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x10063be4
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x14], 4
jmp 0x10063be4
cmp esi, 0xa
jne 0x10064205
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, ebx
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10063be2
mov ecx, ebx
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x100641f1
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x10063be2
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x14], 4
jmp 0x10063be2
push 0x80
lea ecx, [esp + 0x10]
call fcn.10063140
cmp esi, 0x19
jne 0x10064434
mov ecx, edi
call fcn.10062cfb
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov ecx, dword [esp + 0x60]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x1006429a
mov ecx, edi
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x1006427c
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x1006428b
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x48], edx
mov byte [esp + 0x34], dl
jmp 0x1006439c
push 4
pop eax
cmp ecx, 2
jne 0x100642b5
push 0x200000
lea ecx, [esp + 0x10]
call fcn.10063161
jmp 0x1006434c
cmp ecx, eax
jne 0x100642d2
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a87
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006434c
cmp ecx, 8
jne 0x1006434f
cmp dword [esp + 0x54], 0x15
jne 0x100642f5
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a8d
mov byte [esp + 0x67], bl
pop ecx
pop ecx
test al, al
jne 0x100642fa
mov byte [esp + 0x5f], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100699c9
pop ecx
pop ecx
test al, al
jne 0x10064320
cmp byte [esp + 0x5f], al
jne 0x10064335
push 0x32
pop ecx
call fcn.10062cc6
jmp 0x100636e8
cmp byte [esp + 0x5f], 0
je 0x1006433e
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10062ec2
test al, al
je 0x1006433e
push 4
pop eax
mov dword [esp + 0x60], eax
jmp 0x10064342
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x10]
call fcn.10069a71
push 4
pop eax
lea edx, [esp + 0x70]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x60]
call fcn.100699fd
push dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
push dword [esp + 0x2c]
mov byte [esp + 0x3c], al
call fcn.100699a3
pop ecx
pop ecx
test al, al
je 0x10064398
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
mov edx, dword [esp + 0x48]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x1006428d
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x18], 0
jne 0x1006440e
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x100643af
cmp dl, bl
je 0x10064416
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
jne 0x1006440e
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10063156
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.10063161
lea edx, [esp + 0xbc]
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x60]
call fcn.100699fd
mov byte [esp + 0x34], al
jmp case.0x10063823.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.100630f4
jmp case.0x10063823.63
cmp esi, 0x1a
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov dword [esp + 0x68], eax
test eax, eax
je 0x10066637
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.100699fd
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp dword [esp + 0x68], ebx
jne 0x100644a4
push dword [esp + 0x2c]
push esi
call fcn.10069a87
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100699a3
pop ecx
pop ecx
test al, al
je 0x100644dc
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
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 0x100644df
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.100630f4
push dword [esp + 0x68]
jmp 0x10063d53
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
cmp eax, 1
je case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov edi, dword [esp + 0x10]
jmp 0x100667d7
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x10064570
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, ebx
call fcn.10062d00
mov dword [esp + 0x14], eax
jmp 0x10063d3f
cmp esi, 0xa
jne 0x10064589
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp 0x10064001
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
lea ecx, [esp + 0xc]
call fcn.10063097
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10063d3f
cmp esi, 0x1a
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
test eax, eax
je 0x10066637
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10063d3f
mov ebx, edi
cmp esi, 2
je 0x10063be4
push 0xe8
lea ecx, [esp + 0x10]
call fcn.10063140
and dword [esp + 0x14], 0
jmp 0x10064f38
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x1006465a
mov ecx, dword [ebp + 0x14]
call fcn.10062d1a
test al, al
je case.default.0x10063823
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
and esi, 0x3f
cmp esi, 9
jne 0x10064719
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne 0x10066737
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne case.0x10063823.63
mov ecx, edi
call fcn.10062f98
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100646e1
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
jmp 0x100646ed
mov edx, esi
call fcn.10062e92
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x10066493
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
jmp case.0x10063823.63
cmp esi, 0xa
jne case.default.0x10063823
jmp 0x10064199
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10063cfd
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10062ccf
test al, al
je case.default.0x10063823
lea ecx, [ebx + 0x10]
call fcn.10062ccf
jmp 0x10063bda
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 0x100647ef
mov ecx, ebx
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 1
jne 0x100647c8
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100647b1
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100647bf
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10063823.63
mov ecx, ebx
call fcn.10062cfb
cmp eax, 2
jne 0x100647df
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a1d
push 1
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp case.0x10063823.63
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
test eax, eax
je 0x10066637
mov ecx, ebx
call fcn.10062cfb
cmp eax, 2
jne 0x1006481e
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, ebx
call fcn.10062cfb
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp 0x10063be4
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.100699f0
mov ecx, ebx
mov di, ax
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
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.0x10063823.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006492c
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.100699a3
pop ecx
pop ecx
test al, al
je 0x100648f7
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
je 0x1006491a
push 2
lea ecx, [esp + 0x10]
call fcn.1006314b
mov ecx, edi
call fcn.10062cfb
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10064c0d
cmp esi, 0xd1
jne 0x100649ea
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.10062cfb
cmp eax, 4
jne 0x10064997
push dword [esp + 0x2c]
push esi
call fcn.10069a87
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100699a3
pop ecx
pop ecx
test al, al
je 0x100649be
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
je 0x10063f20
push 2
lea ecx, [esp + 0x10]
call fcn.1006314b
mov ecx, edi
call fcn.10062cfb
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063f20
cmp esi, 9
jne 0x10064a51
mov ecx, ebx
call fcn.10062cfb
cmp eax, 1
je 0x10064b5d
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne 0x10066737
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp case.0x10063823.63
cmp esi, 0x11
jne 0x10064a95
mov ecx, ebx
call fcn.10062cfb
cmp eax, 1
je 0x10064bc2
mov ecx, edi
call fcn.10062d00
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp 0x10063be4
cmp esi, 0x19
jne case.0x10063823.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.10062cfb
cmp eax, 4
jne 0x10064af6
push ebx
push esi
call fcn.10069a87
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100699a3
pop ecx
pop ecx
test al, al
je 0x10064b19
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
je 0x10064b3c
push 2
lea ecx, [esp + 0x10]
call fcn.1006314b
mov ecx, edi
call fcn.10062cfb
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x18], eax
jmp 0x10063fef
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x10063823.12
cmp esi, 9
jne 0x10064bbd
xor edx, edx
mov ecx, edi
call fcn.10063028
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062fb8
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x10064ba9
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x10064709
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x18], 4
jmp case.0x10063823.63
cmp esi, 0x11
jne 0x10064bdc
xor edx, edx
mov ecx, edi
call fcn.10063028
mov edi, dword [esp + 0x10]
test al, al
je 0x10063a14
jmp 0x10063be8
cmp esi, 0x49
jne 0x10064c1b
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
mov dword [esp + 0x18], eax
jmp case.0x10063823.63
cmp esi, 0x89
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ebx, dword [ebp + 0x14]
jmp 0x10063be4
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064c92
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 1
jne case.0x10063823.63
mov ecx, edi
jmp 0x10064b8a
cmp esi, 2
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
test eax, eax
je 0x10066637
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x10064d31
mov ecx, edi
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
call fcn.10062cfb
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.1006320a
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069aa1
jmp case.0x10063823.1
cmp esi, 9
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
cmp eax, 2
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100630f4
jmp 0x10064d1b
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063823
push 7
pop edx
mov ecx, edi
call fcn.1006319b
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
cmp eax, 2
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov ebx, eax
test ebx, ebx
je 0x10066637
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.100630f4
push ebx
lea ecx, [esp + 0x10]
call fcn.10069aa1
jmp 0x10063a5a
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064c92
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10064dfe
mov eax, dword [edi]
jmp 0x1006478e
mov ecx, dword [esp + 0x10]
call fcn.10062ea0
test al, al
je 0x10064e22
mov ecx, dword [esp + 0x40]
call fcn.1006320a
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x10064d11
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
jmp case.0x10063823.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
jmp 0x10063b2e
push 0x40
mov edx, 0x80
pop ecx
call fcn.10062e88
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069a05
mov edi, dword [ebp + 0xc]
test al, al
je 0x10064ea7
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10062ec2
test al, al
je 0x10064ea7
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10069a05
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x58], al
push dword [esp + 0x58]
call fcn.10069a1d
mov ebx, edi
jmp 0x10064622
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062ccf
test al, al
je 0x10064ea7
xor edx, edx
mov ecx, edi
inc edx
call fcn.10062d39
test al, al
je case.default.0x10063823
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10062ea0
test al, al
je 0x10064ee9
mov ecx, edi
call fcn.10062cfb
cmp eax, 2
je 0x10064f00
mov ecx, esi
call fcn.10062ea6
test al, al
je 0x10064f04
mov ecx, edi
call fcn.10062cfb
cmp eax, 4
jne 0x10064f04
mov al, 1
jmp 0x10064f06
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10069a38
jmp 0x10064622
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10063d3f
mov ebx, edi
cmp esi, 2
je 0x10063be4
push 0xe9
jmp 0x10064619
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 0x10067299
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 + 0x100a2558]
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 0x1006512d
call fcn.10062cc6
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062e67
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10069139
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x4c], esi
call fcn.10062e2f
test al, al
je 0x10065068
mov ecx, ebx
call fcn.10062e3c
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.10069b12
test al, al
je 0x100651d7
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x100651d7
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
jne 0x100651d7
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10062e92
push ebx
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x100639d3
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10065092
cmp dword [esp + 0xc], 0
je 0x10065116
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069a05
test al, al
jne 0x10065116
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x48], esi
je 0x100651d0
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069a05
test al, al
jne 0x100651d0
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.1006316c
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069a0b
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069a0b
mov dword [esp + 0x3c], 0xfffffffc
push 4
pop ebx
jmp 0x1006920a
push ebx
lea ecx, [esp + 0x20]
call fcn.10069a1d
or dword [esp + 0x3c], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x1006920a
call fcn.10062ce6
test al, al
je 0x10063a14
mov ecx, edi
call fcn.10062e9c
mov ecx, eax
call fcn.10062e47
mov ecx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], edx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x10065265
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.10062eae
mov cl, al
call fcn.10062dcb
test al, al
jne 0x10065008
push dword [esp + 0x58]
push esi
call fcn.100699c9
pop ecx
pop ecx
test al, al
jne 0x10065008
mov ecx, dword [esp + 0x54]
call fcn.10063188
test al, al
jne 0x10065261
push 0x30
jmp 0x1006913b
cmp dword [esp + 0xc], 0
je 0x100651d0
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069a05
test al, al
jne 0x100651d0
push 0x10
pop ecx
call fcn.10062e83
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10062e97
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.1006316c
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069a0b
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069a0b
push esi
lea ecx, [esp + 0x20]
call fcn.10069a2a
jmp 0x100639d3
mov esi, dword [esp + 0x3c]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.1006a6c6
test eax, eax
jne 0x100636ec
mov ecx, edi
call fcn.10062ecf
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10062dd9
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 0x1006539a
mov ecx, edi
call fcn.10062eae
mov cl, al
call fcn.10062dd1
test al, al
je 0x10065310
mov ecx, dword [esp + 0x54]
call fcn.10063188
test al, al
je 0x10065310
cmp dword [esp + 0x50], 0
jne 0x100652ed
push 0x40
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x38]
call fcn.1006a1e0
test eax, eax
jne 0x100636ec
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.1006316c
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069a0b
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069a0b
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10062de8
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10062f3c
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062e0d
push ebx
lea ecx, [esp + 0x20]
call fcn.10069b21
jmp 0x100639d3
push esi
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10062de8
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10062f3c
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062e0d
push ebx
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x100639d3
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x1006542f
mov ecx, edi
mov ebx, edi
call fcn.10062cfb
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x10065404
mov ecx, edi
call fcn.10062eb2
mov esi, eax
jmp 0x10065420
sub esi, 2
cmp esi, 2
je 0x10065420
cmp esi, 4
je 0x10065420
mov ecx, edi
call fcn.10062eb2
cmp esi, eax
jne 0x10065b39
push esi
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp 0x10063be8
cmp esi, 0x1b
jne case.default.0x10063823
mov ecx, dword [esp + 0x10]
call fcn.10062ea0
test al, al
je case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, ebx
mov esi, eax
call fcn.10062cc6
mov ecx, esi
mov edi, eax
call fcn.10062dc2
test edx, edx
jg 0x10064313
jl 0x10065477
cmp eax, 0xffff
ja 0x10064313
mov ecx, edi
call fcn.10062dc2
test edx, edx
jg 0x10064313
jl 0x10065491
cmp eax, 0xffffffff
ja 0x10064313
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, esi
call fcn.10062dc2
mov ecx, edi
mov esi, eax
call fcn.10062dc2
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 6
jmp case.0x10063823.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp 0x10063f20
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100656f3
mov ecx, edi
call fcn.10062d1a
mov ecx, edi
test al, al
je 0x10065685
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d1a
test al, al
je 0x100655e3
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne case.default.0x10063823
cmp esi, 1
jne 0x100655c6
mov ecx, edi
call fcn.10062f98
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10065576
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
jmp 0x10065582
mov edx, esi
call fcn.10062e92
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x100655a7
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
jmp 0x100655b3
mov edx, esi
call fcn.10062e92
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x100640e2
push 0x89
lea ecx, [esp + 0x10]
call fcn.10063140
push esi
lea ecx, [esp + 0x10]
call fcn.10069a47
jmp 0x100640e2
mov ecx, ebx
call fcn.10062ff8
test al, al
je 0x10065616
push 0x8c
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
dec dword [esp + 0x14]
jmp case.0x10063823.63
mov ecx, ebx
call fcn.10063008
test al, al
je 0x10065663
push pe_nt_image_headers32
lea ecx, [esp + 0x10]
call fcn.10063140
test byte [esp + 0x14], 8
je case.0x10063823.63
mov ecx, dword [esp + 0x10]
call fcn.10062ea0
test al, al
je case.0x10063823.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10069a1d
and dword [esp + 0x14], 7
jmp case.0x10063823.63
mov ecx, ebx
call fcn.10063018
test al, al
je case.default.0x10063823
push 0x121
lea ecx, [esp + 0x10]
call fcn.10063140
jmp case.0x10063823.63
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d1a
test al, al
je case.default.0x10063823
mov ecx, edi
call fcn.10062ff8
test al, al
je 0x100656c8
push 0x8e
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, ebx
jmp 0x100655fe
mov ecx, edi
call fcn.10063008
test al, al
je 0x100656dd
push 0x122
jmp 0x10065626
mov ecx, edi
call fcn.10063018
test al, al
je case.default.0x10063823
push 0x123
jmp 0x10065677
cmp esi, 0x11
jne 0x100657fa
mov ecx, edi
call fcn.10062d00
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10062ff8
lea ecx, [esp + 0xc]
test al, al
je 0x10065740
push 0x8e
call fcn.10063140
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
dec dword [esp + 0x14]
jmp 0x10063be4
push 0
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
cmp dword [esp + 0x14], 0
jne 0x100657ac
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d5b
test al, al
jne 0x100657ac
mov ecx, ebx
call fcn.10062cc6
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10062cfb
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10063338
add esp, 0xc
test al, al
je 0x100657ac
push 0xa0
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp 0x10065bac
mov ecx, edi
call fcn.10062cfb
cmp eax, 1
jne 0x100657f0
mov ecx, edi
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x100657e1
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x100657f0
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x14], 4
push 0x8a
jmp 0x1006482d
cmp esi, 0xa
jne 0x10065903
mov ecx, ebx
call fcn.10062d00
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.10062ff8
lea ecx, [esp + 0xc]
test al, al
je 0x10065849
push 0x8c
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10063be4
push 0
call fcn.10063140
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
cmp dword [esp + 0x14], 0
jne 0x100658ac
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d5b
test al, al
jne 0x100658ac
mov ecx, edi
call fcn.10062cc6
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10062cfb
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10063338
add esp, 0xc
test al, al
je 0x100658ac
push 0xa2
jmp 0x1006579e
mov ecx, ebx
call fcn.10062cfb
cmp eax, 1
jne 0x100658f0
mov ecx, ebx
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x100658e1
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x100658f0
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp 0x10065842
cmp esi, 0x19
jne 0x10065a35
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
mov byte [esp + 0x34], al
cmp al, 1
jne 0x1006598b
mov ecx, edi
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x1006594f
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x1006595e
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006453e
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
cmp byte [esp + 0x34], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x100659dd
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
jne 0x100659dd
push ebx
push esi
call fcn.10069a8d
pop ecx
pop ecx
test al, al
je 0x100659fd
mov ecx, dword [esp + 0x10]
push 1
call fcn.10062ec2
test al, al
je 0x100659fd
mov byte [esp + 0x34], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.10063140
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10069ab7
jmp 0x1006453e
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100699c9
pop ecx
pop ecx
test al, al
je 0x100659dd
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.10063140
and dword [esp + 0x14], 0
mov byte [esp + 0x34], 4
jmp case.0x10063823.63
cmp esi, 0x1a
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov dword [esp + 0x6c], eax
test eax, eax
je 0x10066637
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.10063140
push dword [esp + 0x6c]
lea ecx, [esp + 0x10]
call fcn.10069a47
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.100699fd
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065b40
mov ecx, edi
call fcn.10062d00
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d04
test al, al
je case.default.0x10063823
cmp dword [esp + 0x14], 0
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d5b
test al, al
jne 0x10065b35
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10063074
cmp eax, 2
jne 0x10065bac
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x1006913b
cmp esi, 0xa
jne 0x10065bf2
mov ecx, ebx
call fcn.10062d00
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10063140
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d04
test al, al
je case.default.0x10063823
cmp dword [esp + 0x14], 0
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d5b
test al, al
jne 0x10065b35
mov ecx, esi
call fcn.10062cc6
mov ecx, eax
call fcn.10062da7
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10062eb2
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x34], al
call fcn.10062cc6
mov ecx, eax
call fcn.10063097
push eax
lea ecx, [esp + 0x20]
call fcn.1006328d
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10063823.1
cmp esi, 0x19
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062fa8
test al, al
je case.default.0x10063823
mov ecx, edi
call fcn.10062d00
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10063140
mov ecx, ebx
mov byte [esp + 0x34], 8
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10069acd
jmp 0x1006453e
mov ecx, ebx
call fcn.10062cfb
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100630f4
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
cmp esi, 9
jne 0x10063f17
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 1
jne case.0x10063823.63
jmp 0x1006478c
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062fa8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ad8
jmp 0x10064001
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, ebx
mov esi, eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062d12
mov ecx, esi
mov bl, al
call fcn.10062d12
cmp al, bl
jne case.default.0x10063823
mov ecx, esi
call fcn.10062d51
test al, al
jne case.default.0x10063823
mov ecx, esi
call fcn.10062d92
test al, al
jne case.default.0x10063823
mov ecx, esi
call fcn.1006308d
test al, al
je 0x10065d47
mov ecx, esi
call fcn.10063097
cmp eax, 1
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10063be4
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10065db3
mov ecx, ebx
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.1006320a
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.10063140
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069aa1
jmp 0x10063b1c
cmp esi, 9
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
cmp eax, 2
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100630f4
mov ecx, ebx
jmp 0x10064d1d
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
cmp eax, 2
jne case.default.0x10063823
push 6
pop edx
mov ecx, ebx
call fcn.1006319b
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
mov edi, eax
test edi, edi
je 0x10066637
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.100630f4
push edi
jmp 0x10064dc7
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065e8e
mov ecx, edi
call fcn.10062ff8
test al, al
je 0x10065f24
mov ecx, edi
call fcn.10062d00
cmp eax, 7
jae 0x10065f1d
push dword [eax*4 + 0x1009d228]
lea ecx, [esp + 0x10]
call fcn.10063140
jmp case.0x10063823.1
cmp esi, 3
jne 0x10065f68
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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.100699a3
pop ecx
pop ecx
test al, al
je 0x10065edf
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
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 0x10065e80
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065f68
mov ecx, edi
call fcn.10062ff8
test al, al
je 0x10065f24
mov ecx, edi
call fcn.10062d00
cmp eax, 2
je 0x10065f1d
cmp eax, 7
jae 0x10065f1d
push dword [eax*4 + 0x1009d710]
jmp 0x10065e80
push 0x31
jmp 0x10064315
mov ecx, edi
call fcn.10062cfb
cmp eax, 2
jb case.default.0x10063823
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069aa1
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x14], eax
jmp 0x1006453e
cmp esi, 2
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
test eax, eax
je 0x10066637
mov ecx, edi
call fcn.10062cfb
cmp eax, esi
je 0x10065fa5
mov ecx, edi
call fcn.10062cfb
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10062eb2
cmp esi, eax
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069aa1
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x10065fd1
push edx
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp case.0x10063823.1
cmp esi, 3
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x1006600c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
jne 0x1006600c
push 1
jmp 0x10065fc3
mov byte [esp + 0x34], 2
jmp case.0x10063823.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x100660f7
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10066084
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10066072
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10066080
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x100660a0
mov ecx, ebx
call fcn.10062d00
cmp eax, 1
jne case.default.0x10063823
push 2
jmp 0x10064426
cmp esi, 0x19
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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 0x100660e3
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
je case.0x10063823.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.1006314b
mov byte [esp + 0x34], bl
jmp case.0x10063823.63
call fcn.10062cfb
test eax, eax
je 0x10066637
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
cmp esi, 0xa
jne 0x1006613a
mov ecx, ebx
call fcn.10062d00
cmp eax, 1
jne case.default.0x10063823
push 2
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp 0x10063be2
cmp esi, 0x1a
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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 0x10066183
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
je 0x10063be2
push 0x10
lea ecx, [esp + 0x10]
call fcn.1006314b
mov al, bl
jmp 0x10065aa6
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063cfd
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x18], eax
mov ecx, dword [edi]
and ecx, 0xff000fff
cmp ecx, 0x1000021
je 0x100661c3
cmp eax, 4
jmp 0x1006479f
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x100647b6
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066215
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, ebx
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
jmp 0x10063907
cmp esi, 0xca
jne 0x10066261
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a47
mov ecx, ebx
call fcn.10062d00
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063be4
push edx
lea ecx, [esp + 0x10]
call fcn.100630f4
cmp esi, 0x49
jne 0x10066288
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
cmp eax, 1
jne case.default.0x10063823
mov ecx, edi
jmp 0x10064551
cmp esi, 0x4a
jne case.default.0x10063823
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
cmp eax, 1
jne case.default.0x10063823
mov ecx, ebx
jmp 0x10064575
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, ebx
mov esi, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
test eax, eax
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
xor edx, edx
mov ecx, eax
call fcn.10062d39
test al, al
je case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov edi, eax
call fcn.10062cf1
test al, al
je 0x10066308
mov ecx, ebx
call fcn.10062cfb
cmp eax, edi
jne 0x10066737
push edi
lea ecx, [esp + 0x10]
call fcn.10069a5c
jmp 0x10063a5a
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, edi
mov esi, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
test eax, eax
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cc6
xor edx, edx
mov ecx, eax
call fcn.10062d39
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
mov ecx, edi
mov ebx, eax
call fcn.10062cf1
test al, al
je 0x10066376
mov ecx, edi
call fcn.10062cfb
cmp eax, ebx
jne 0x10066737
push ebx
jmp 0x10066309
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d83
mov ecx, ebx
mov esi, eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062d83
cmp esi, eax
jne case.default.0x10063823
mov ecx, edi
mov esi, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d92
test al, al
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
mov ebx, eax
test ebx, ebx
je 0x10066637
jmp 0x10066367
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100664a4
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
jne 0x10066737
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne case.0x10063823.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10066466
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062e92
push 4
pop ecx
jmp 0x10066474
mov edx, esi
call fcn.10062e92
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006648f
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x10064705
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10062e92
add dword [esp + 0x14], 4
jmp case.0x10063823.63
cmp esi, 0xa
jne 0x100664f0
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, ebx
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10063be2
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100641f1
jmp 0x100641d4
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
lea ecx, [esp + 0xc]
call fcn.10063097
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10066623
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10066598
mov ecx, edi
call fcn.10062f98
lea ecx, [esp + 0x20]
test al, al
jne 0x10066568
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062e92
jmp 0x10066577
mov edx, Ordinal_2
call fcn.10062e92
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x100665d2
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x78], 4
call fcn.10062cfb
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x7c]
call fcn.100699fd
mov byte [esp + 0x34], al
cmp dword [esp + 0x18], 0
jne case.0x10063823.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
jne case.0x10063823.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, edi
call fcn.10062cfb
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.10063161
jmp case.0x10063823.1
cmp esi, 0x1a
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
test eax, eax
jne 0x1006663e
push 0x34
jmp 0x100636e7
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x80], 4
call fcn.10062cfb
mov dword [esp + 0x84], eax
lea edx, [esp + 0x80]
lea ecx, [esp + 0x84]
jmp 0x10065aa1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063823.61
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a5c
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
cmp eax, 1
jne 0x10063be4
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100666ea
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100666f8
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10063be4
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066864
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
cmp esi, eax
je 0x1006673e
push 0x35
jmp 0x100636e7
cmp esi, 1
je 0x10066431
cmp dword [esp + 0x54], 0x668
jne 0x1006685e
cmp dword [esp + 0x14], 0
je 0x10066767
cmp dword [esp + 0x18], 0
jne 0x1006685e
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062ea6
test al, al
je 0x10066795
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x10066795
cmp esi, 4
jb 0x10066795
cmp esi, 8
jne 0x1006685e
push 0x8000000
jmp 0x100667c0
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a05
test al, al
jne 0x1006685e
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10069a5c
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10063156
push 0x90
lea ecx, [esp + 0x10]
call fcn.10063161
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063216
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006311a
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.100631f4
test al, al
jne 0x10067299
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069a0b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.100630f4
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063235
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.100632e1
jmp 0x100639d3
push esi
jmp 0x10064e2a
cmp esi, 0xa
jne case.default.0x10063823
jmp 0x100664a9
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100668be
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069a05
test al, al
je case.0x10063823.63
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10064103
cmp esi, 0x11
je 0x10063f20
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10064001
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006698d
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x100669e0
test edx, edx
jne case.default.0x10063823
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.1006316c
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d1e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10069a0b
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.0x10063823.0
cmp esi, 2
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.10063140
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10063156
jmp 0x10063be2
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x100669dc
cmp esi, edx
jne 0x1006698d
mov ecx, edi
call fcn.10062d00
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.0x10063823.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10066a94
mov ecx, edi
mov ebx, edi
call fcn.10062cfb
mov esi, dword [esp + 0x48]
cmp eax, 4
jne 0x10066a2c
push 0x1000
mov ecx, esi
call fcn.100630c8
test al, al
jne 0x10063be4
mov ecx, edi
call fcn.10062cfb
cmp eax, 8
jne 0x10066a4f
push 0x2000
mov ecx, esi
call fcn.100630c8
test al, al
je 0x10066a4f
push 4
jmp 0x1006482d
mov ecx, edi
call fcn.10062cfb
cmp eax, 0xa
jne case.default.0x10063823
push 0x800
mov ecx, esi
call fcn.100630c8
test al, al
je case.default.0x10063823
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
lea ecx, [esp + 0xc]
call fcn.10063097
jmp 0x10063f27
cmp esi, edx
jne case.default.0x10063823
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10066ab8
mov ecx, edi
call fcn.10062d00
add eax, 0x364c0
jmp 0x1006693c
cmp eax, 0xec
jne 0x10066ad0
mov ecx, edi
call fcn.10062d00
add eax, 0x374d0
jmp 0x1006693c
cmp eax, 0xef
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
add eax, 0x374d8
jmp 0x1006693c
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063823
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, edi
mov ebx, edi
call fcn.10062cfb
mov esi, dword [esp + 0x48]
cmp eax, 2
jne 0x10066b2c
push 0x800
mov ecx, esi
call fcn.100630c8
test al, al
jne 0x10066a48
mov ecx, edi
call fcn.10062cfb
cmp eax, 4
jne 0x10066b4c
push 0x1000
mov ecx, esi
call fcn.100630c8
test al, al
jne 0x10063be4
mov ecx, edi
call fcn.10062cfb
cmp eax, 8
jne case.default.0x10063823
push 0x2000
mov ecx, esi
call fcn.100630c8
test al, al
je case.default.0x10063823
mov ecx, dword [esp + 0x40]
call fcn.1006320a
and eax, 0xffff1fff
jmp 0x10066a7c
test esi, esi
jne case.0x10063823.70
push edx
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp case.0x10063823.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
push eax
jmp 0x10066b88
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066bcf
mov ecx, edi
call fcn.10062d00
test eax, eax
jne case.default.0x10063823
mov ecx, dword [esp + 0x40]
call fcn.1006320a
jmp 0x1006693c
cmp esi, 2
jne case.default.0x10063823
jmp 0x100669b5
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066c1d
mov ecx, ebx
call fcn.10062fd8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ae7
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x1006491a
cmp esi, 0xca
jne case.default.0x10063823
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, ebx
call fcn.10062fd8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ae7
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10064001
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066cb4
mov ecx, ebx
call fcn.10062fd8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ae7
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10064560
cmp esi, 0xca
jne case.default.0x10063823
jmp 0x10066c3a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066d0e
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069a05
test al, al
je case.0x10063823.63
mov eax, dword [esp + 0x40]
cmp byte [eax + 7], 0
je case.0x10063823.63
mov ecx, eax
jmp 0x100668aa
cmp esi, 0x11
je 0x10063f20
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10063ff8
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10066d4a
mov ecx, edi
call fcn.10062cfb
cmp eax, 1
je case.default.0x10063823
jmp 0x100654d4
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
cmp eax, 1
je case.default.0x10063823
jmp 0x100662a2
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066e28
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062fe8
test al, al
je 0x10066ddc
mov ecx, ebx
call fcn.10062fe8
test al, al
je 0x10066ddc
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069a05
test al, al
je case.0x10063823.63
push 0x10
jmp 0x100640fa
mov ecx, edi
call fcn.10062fd8
test al, al
je 0x10066ea8
mov ecx, ebx
call fcn.10062fd8
test al, al
je 0x10066ea8
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069a05
test al, al
je case.0x10063823.63
push 0x2001d6
jmp 0x100668b0
cmp esi, 0x11
jne 0x10066e68
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062fe8
test al, al
je 0x10066e56
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10063be4
mov ecx, edi
call fcn.10062fd8
test al, al
je 0x10066ea8
push 0x40017e
jmp 0x10066e48
cmp esi, 0xa
jne 0x10066ea8
mov ecx, ebx
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062fe8
test al, al
je 0x10066e96
push 0x17f
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10063be2
mov ecx, ebx
call fcn.10062fd8
test al, al
je 0x10066ea8
push 0x2001d6
jmp 0x10066e88
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x48], eax
call fcn.10063161
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 0x10066ef4
mov ecx, ebx
call fcn.10062d1a
test al, al
je 0x10066efd
jmp 0x10064925
cmp esi, 0x11
je 0x10063be4
push dword [esp + 0x44]
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
mov ecx, ebx
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062fd8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ae7
cmp esi, 9
jne 0x10063d82
mov ecx, edi
call fcn.10062d1a
jmp 0x10063ebb
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10066f6a
xor edx, edx
mov ecx, eax
call fcn.1006305b
test al, al
je case.default.0x10063823
and esi, 0x3f
jmp case.0x10063823.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10066f6a
push 7
pop edx
mov ecx, eax
call fcn.1006319b
jmp 0x10066f62
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10066f9d
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 0x10063f08
cmp esi, 0x11
jne case.default.0x10063823
mov eax, dword [edi + 4]
jmp 0x10063f27
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067014
mov ecx, edi
call fcn.10062fd8
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10062fd8
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069af6
mov ecx, edi
call fcn.10062d00
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10064c0d
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, edi
call fcn.10062fd8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ae7
jmp 0x10063f20
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006491a
cmp esi, 0x11
je 0x10063f20
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
lea ecx, [esp + 0xc]
call fcn.10063097
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10063d3f
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10066fde
cmp esi, 0x11
je 0x1006701d
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
lea ecx, [esp + 0xc]
call fcn.10063097
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063823
mov ecx, edi
call fcn.10062fd8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ae7
jmp 0x10067072
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 0x1006491a
cmp esi, 0xd1
jmp 0x10063f1a
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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 0x10066fde
cmp esi, 0xd1
jmp 0x10067017
mov ecx, dword [ebp + 0xc]
call fcn.10062d00
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10063823.63
cmp esi, 0xd9
jne case.default.0x10063823
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.10063097
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
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.0x10063823.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.0x10063823.63
cmp ecx, 0x6c9
jne case.default.0x10063823
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, dword [ebp + 0x18]
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
mov ecx, dword [ebp + 0x14]
jmp 0x100671be
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 0x10064925
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10063a14
jmp 0x10063be8
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x100636ec
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 0x100672f2
push 0x18
lea ecx, [esp + 0x10]
call fcn.10063175
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a2a
jmp case.0x10063823.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069a1d
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp case.0x10063823.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100673b7
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d1a
test al, al
je 0x1006736d
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
jmp case.0x10063823.93
mov ecx, edi
call fcn.10062d1a
test al, al
je 0x10067384
mov ecx, dword [esp + 0x40]
call fcn.1006320a
inc eax
jmp 0x1006735e
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069a05
test al, al
je case.0x10063823.93
push 1
lea ecx, [esp + 0x10]
call fcn.100630f4
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10039576
jmp case.0x10063823.93
cmp esi, 0x11
jne 0x100673c8
mov ecx, edi
call fcn.10062d00
jmp 0x10068472
cmp esi, 0xa
jne case.default.0x10063823
push edx
lea ecx, [esp + 0x10]
call fcn.100630f4
jmp 0x10068469
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062fa8
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069ad8
jmp case.0x10063823.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063823
mov ebx, edi
jmp 0x10068476
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 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10067f00
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062cfb
mov ecx, eax
call fcn.100631de
mov ecx, edi
mov dword [esp + 0x88], eax
call fcn.100631ce
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x8c]
call fcn.100699f5
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
jmp 0x10068469
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x10063823.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x34], 1
jmp case.0x10063823.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 + 0x1009d650]
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 0x10067547
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10069359
cmp esi, 0xca
jmp 0x10068463
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x1006756c
push 7
pop edx
mov ecx, eax
call fcn.1006319b
test al, al
je case.default.0x10063823
and esi, 0x3f
jmp case.0x10063823.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.0x10063823.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x100675c5
mov ecx, ebx
call fcn.10062cfb
mov ecx, eax
call fcn.100631de
push eax
jmp 0x100675da
mov ecx, edi
call fcn.10062cfb
cmp eax, 0x20
jne case.0x10063823.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.10063161
jmp case.0x10063823.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x10063823.106
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d1a
test al, al
je case.0x10063823.106
mov ecx, edi
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
or esi, eax
mov ecx, esi
call fcn.100631de
mov ecx, dword [esp + 0x40]
mov esi, eax
call fcn.1006320a
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.10063140
mov ecx, edi
call fcn.10062d00
jmp 0x1006934e
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 + 0x1009d650]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006766d
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10069359
cmp esi, 0x11
jne case.default.0x10063823
mov eax, dword [edi + 4]
jmp 0x10068472
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov ecx, eax
call fcn.100631de
mov ecx, ebx
mov dword [esp + 0x90], eax
call fcn.100631ce
mov dword [esp + 0x94], eax
lea edx, [esp + 0x90]
lea ecx, [esp + 0x94]
call fcn.100699f5
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
jmp 0x100673bc
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.10062d29
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062d29
test al, al
je case.default.0x10063823
mov ecx, dword [ebp + 0x14]
call fcn.10062d29
test al, al
je case.default.0x10063823
mov ecx, dword [ebp + 0x18]
call fcn.10062d29
test al, al
je case.default.0x10063823
mov ecx, dword [esp + 0x3c]
call fcn.10062d29
test al, al
je case.default.0x10063823
mov ecx, esi
call fcn.10062cdc
test al, al
je case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10062d00
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10062d00
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
call fcn.10062d00
mov edx, eax
test bl, 3
jne 0x100677a0
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x100677a0
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x100677a0
lea eax, [ebx + 3]
cmp edx, eax
jne 0x100677a0
mov ecx, edi
call fcn.10062d00
mov edx, ebx
mov ecx, eax
call fcn.100631c7
mov ebx, dword [esp + 0x24]
jmp 0x10068472
push 0x3c
jmp 0x10064315
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.0x10063823.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 + 0x1009d650]
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 0x1006765e
cmp esi, 0xd1
jne case.default.0x10063823
jmp 0x100673bc
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10063823.115
push 2
pop edx
mov ecx, eax
call fcn.10062d39
test al, al
je case.default.0x10063823
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 0x100678bc
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 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100679c4
cmp esi, 0x89
jne case.default.0x10063823
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10068472
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
test al, 1
jne 0x1006796d
mov ecx, edi
call fcn.10062d00
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10062d00
cmp esi, eax
jne 0x1006796d
mov ecx, dword [ebp + 0x14]
call fcn.10062cfb
mov ecx, eax
call fcn.100631de
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062ccf
mov ecx, ebx
test al, al
jne 0x10069354
call fcn.10062cdc
test al, al
je case.default.0x10063823
jmp 0x10068476
push 0x1d
jmp 0x10064315
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 + 0x1009d650]
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 0x100679dc
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 0x10069359
cmp ecx, 0x289
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ebx, dword [ebp + 0x14]
jmp 0x10068472
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.0x10063823.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 + 0x1009d650]
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 0x100679c4
cmp eax, 0x689
jmp 0x100679e2
mov ecx, dword [ebp + 0xc]
call fcn.10062fa8
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10062fa8
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069b04
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10069334
cmp esi, 0x51
jne case.default.0x10063823
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
jmp 0x10068472
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063823.128
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
mov ecx, eax
call fcn.100631de
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.100631ce
mov dword [esp + 0x9c], eax
lea edx, [esp + 0x98]
lea ecx, [esp + 0x9c]
jmp 0x100676bb
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x10063823
mov ecx, edi
call fcn.10062cfb
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10062cfb
or esi, eax
mov ecx, esi
call fcn.100631de
mov ecx, ebx
mov dword [esp + 0xa0], eax
call fcn.100631ce
lea edx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0xa4]
call fcn.100699f5
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
jmp 0x10067aee
mov ecx, dword [ebp + 0x18]
call fcn.10062cc9
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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 0x10069334
cmp eax, 0x651
jmp 0x10067ae8
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067ca4
mov ecx, edi
call fcn.10062d1a
test al, al
je 0x10067c50
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
mov ecx, edi
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a71
mov ecx, ebx
call fcn.10062d00
mov ecx, edi
jmp 0x10069350
mov ecx, ebx
call fcn.10062d1a
test al, al
je 0x10067c71
mov ecx, ebx
call fcn.10062cfb
push eax
lea ecx, [esp + 0x10]
call fcn.10069a71
jmp 0x1006762f
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.1006316c
test eax, eax
je 0x10067cd7
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10063156
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10063161
jmp 0x1006762f
cmp esi, 0x11
jne 0x10067cdb
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.1006316c
test eax, eax
je 0x100673bc
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10063156
push 0x40017e
jmp 0x100676c1
mov eax, dword [esp + 0x40]
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
cmp esi, 0xa
jne case.default.0x10063823
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.1006316c
test eax, eax
je 0x10068469
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10063156
push 0x2001d6
jmp 0x10067490
mov ecx, dword [ebp + 0xc]
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
or esi, eax
mov ecx, esi
call fcn.100631de
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006762f
cmp esi, 0x11
je 0x100673bc
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
jmp 0x10068460
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10067df7
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069a05
test al, al
je case.0x10063823.93
lea ecx, [esp + 0xc]
call fcn.100630ff
mov ecx, ebx
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ecx, dword [ebp + 0x14]
jmp 0x10069350
cmp esi, 0x51
je 0x10067aee
cmp esi, 0x89
jne case.default.0x10063823
lea ecx, [esp + 0xc]
call fcn.100630ff
jmp 0x100679e8
mov ecx, dword [ebp + 0xc]
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
or esi, eax
mov ecx, esi
call fcn.100631de
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067dd6
cmp esi, 0x89
je 0x100679e8
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
mov ecx, dword [ebp + 0x14]
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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 0x10067826
jmp 0x1006762f
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067d8e
cmp esi, 0x51
je 0x10067aee
cmp esi, 0x89
je 0x10067e0c
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10067e71
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067dd6
cmp esi, 0x89
je 0x100679e8
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
cmp esi, 9
je 0x10067c42
jmp 0x10068460
mov ecx, dword [ebp + 0xc]
call fcn.10062cfb
mov ecx, ebx
mov esi, eax
call fcn.10062cfb
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009d650]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100679c4
cmp esi, 0x89
je 0x100679e8
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
cmp esi, 0x4a
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
jmp 0x10068470
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 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100679c4
cmp esi, 0x89
je 0x100679e8
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10063156
mov ecx, dword [esp + 0x40]
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
lea ecx, [esp + 0xc]
call fcn.10063097
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10062dc2
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 0x10068048
mov ecx, edi
call fcn.10062d00
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10069349
cmp esi, 0xd1
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067b03
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 0x100680af
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10067665
cmp esi, 0x11
jmp 0x1006804e
cmp esi, 0xd1
jne case.0x10063823.146
lea ecx, [esp + 0xc]
call fcn.10063108
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 + 0x1009d650]
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 0x1006812a
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10068114
mov ecx, ebx
call fcn.10062cfb
cmp eax, 8
je 0x10068114
xor eax, eax
jmp 0x10068118
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 0x100680a0
cmp esi, 0xd1
jne case.default.0x10063823
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10068476
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10062cfb
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009d650]
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 0x100681bc
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 0x100674e0
cmp eax, 0x449
jne 0x1006820f
lea ecx, [esp + 0xc]
call fcn.100630ff
mov ecx, ebx
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062d00
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 0x10068476
cmp eax, 0x289
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x100681eb
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.0x10063823
call fcn.10062cc9
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x58], eax
call fcn.10062cfb
mov ecx, edi
mov esi, eax
call fcn.10062cfb
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10062cfb
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10062cfb
or eax, esi
mov ecx, eax
call fcn.100631de
push eax
lea ecx, [esp + 0x10]
call fcn.10063161
mov ecx, dword [esp + 0x50]
call fcn.10062cc6
mov ecx, eax
call fcn.100699ec
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 0x10068312
mov ecx, ebx
call fcn.10062d00
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d00
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10062d00
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10063823.93
cmp eax, 0x449
jne 0x10068356
lea ecx, [esp + 0xc]
call fcn.100630ff
mov ecx, ebx
call fcn.10062d00
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d00
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10068476
cmp eax, 0x289
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10068341
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100679c4
cmp esi, 0x11
je 0x100673bc
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, eax
call fcn.1006320a
push eax
lea ecx, [esp + 0x10]
call fcn.10063140
jmp 0x10068469
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 + 0x1009d650]
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 0x100681bc
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 0x1006842a
lea ecx, [esp + 0xc]
call fcn.100630ff
mov ecx, dword [ebp + 0x18]
call fcn.10062d00
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062d00
jmp 0x100681af
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
mov ecx, dword [ebp + 0x18]
jmp 0x1006841c
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063823
mov ecx, edi
call fcn.10062d00
mov dword [esp + 0x14], eax
jmp case.0x10063823.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x1006782c
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063823
mov ecx, ebx
call fcn.10062d00
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10062cc9
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d83
mov ecx, ebx
movzx eax, byte [eax + 0x1009d248]
mov dword [esp + 0x44], eax
call fcn.10062cc6
mov ecx, eax
call fcn.10063097
push eax
lea ecx, [esp + 0x20]
call fcn.1006328d
lea ecx, [esp + 0x1c]
call fcn.10062dd9
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.100630bb
test dword [esp + 0x44], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069a38
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d65
test al, al
je 0x100684fe
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d73
test al, al
je 0x10068524
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d8e
mov dword [esp + 0x24], eax
jmp 0x10068529
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100630a8
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10062d00
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.1006312a
mov ecx, dword [esp + 0x48]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x40], eax
call fcn.10062dd9
mov ecx, eax
call fcn.10062e83
mov edx, 0x400000
mov ecx, eax
call fcn.100630bf
mov esi, dword [esp + 0x40]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x40], esi
call fcn.10062e88
mov edx, 0x80000
mov ecx, eax
call fcn.10062e88
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10069a05
test al, al
je 0x1006861c
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10062e88
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069a05
test al, al
jne 0x10069409
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10062e8d
or esi, eax
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x48]
call fcn.100630dc
test al, al
je 0x10068656
test esi, 0x80df8110
jne 0x10068662
mov edx, 0x400
mov ecx, 0x800
call fcn.10062e88
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069a05
test al, al
jne 0x10068656
or esi, 0x10
mov dword [esp + 0x40], esi
test esi, 0x80df8110
je 0x100687d6
push 4
lea ecx, [esp + 0x10]
call fcn.1006317d
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.1006317d
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x3c], eax
test eax, 0x10000000
je 0x10068787
mov ecx, dword [esp + 0x48]
call fcn.100630ea
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.10062cc6
mov ecx, eax
call fcn.100630b2
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x10068780
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.10069b56
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xac]
call fcn.100699f5
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0xb0], eax
cmp eax, 0x40000000
ja 0x10068780
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xb4]
call fcn.100699f5
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10063156
mov ecx, dword [esp + 0x50]
call fcn.10069b56
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.10063161
jmp 0x100687c7
push 0x29
jmp 0x1006913b
push 0x19
lea ecx, [esp + 0x10]
call fcn.1006317d
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.1006317d
mov ecx, dword [esp + 0x3c]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009d118]
lea ecx, [esp + 0x10]
call fcn.100630f4
mov esi, dword [esp + 0x3c]
push esi
lea ecx, [esp + 0x20]
call fcn.10069a2a
jmp 0x10068880
push 0xd
lea ecx, [esp + 0x10]
call fcn.1006317d
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.1006317d
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.100631fe
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10063156
test esi, 0x8000807e
je 0x1006885c
push 0x18
lea ecx, [esp + 0x10]
call fcn.10063175
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d1e8]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10069a2a
jmp 0x1006888d
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069a1d
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, dword [esp + 0x48]
push 0x100000
call fcn.100630c8
test al, al
jne 0x10068f42
mov eax, dword [esp + 0x44]
test al, 0x42
jne 0x10068e3b
test al, 1
je 0x10068a46
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.100631e9
pop ecx
mov ecx, dword [esp + 0x48]
mov esi, eax
call fcn.100630d4
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x10068961
test al, al
jne 0x10068961
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x1006890b
test ebx, ebx
jne 0x1006890b
push esi
jmp 0x10068990
push 0xe000
lea ecx, [esp + 0x10]
call fcn.1006316c
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.10069b12
test al, al
je 0x1006894b
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp ebx, eax
jne 0x1006894b
lea eax, [esi + 0x40]
jmp 0x100689f5
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push ebx
jmp 0x10068e2d
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x1006899e
cmp dword [esp + 0x54], 0
jne 0x1006899e
push esi
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x10066844
push 0xe000
lea ecx, [esp + 0x10]
call fcn.1006316c
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.10069b12
test al, al
je 0x10068a15
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x10068a15
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a1d
jmp 0x10066844
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x54]
jmp 0x10068e2d
test al, 0x30
jne 0x10068d85
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10063074
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10062ea0
test al, al
je 0x10068a9a
cmp esi, 2
je 0x10065b39
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100631e9
jmp 0x10068d71
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], esi
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.10062e9c
mov ecx, eax
call fcn.10062e47
mov ecx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x10068ba3
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10068b68
cmp dword [esp + 0x3c], esi
je 0x10068d4c
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x10068bac
mov ebx, dword [esp + 0x58]
mov al, byte [ebx]
cmp al, 0x67
je 0x10068d4c
cmp dword [esp + 0x54], 0x17e
jne 0x10068d40
movzx eax, al
test al, 0x40
je 0x10068d4c
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10068d4c
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10069a05
test al, al
jne 0x10068d4c
push ebx
lea ecx, [esp + 0x20]
call fcn.10062f61
jmp 0x10068d4c
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10063097
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10068b94
cmp dword [esp + 0x3c], esi
je 0x10068b8f
cmp dword [esp + 0x48], 0
jne 0x10068b94
xor eax, eax
inc eax
jmp 0x10068b96
xor al, al
cmp ecx, 5
jae 0x10068c81
test al, al
jmp 0x10068ba6
cmp eax, 2
jne 0x10068c81
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.10062f3c
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 0x10068c9e
mov ecx, dword [edi + 0x68]
call fcn.10062dd9
test eax, eax
jne 0x10068c9e
mov ecx, dword [edi + 0x68]
call fcn.10062ddc
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.10062cc6
mov ecx, eax
call fcn.10062da7
sub eax, esi
mov dword [esp + 0x50], eax
sbb edx, edi
push edx
push eax
call fcn.100699c9
pop ecx
pop ecx
test al, al
je 0x10068c63
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.10069a2a
jmp 0x100639ba
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.1006307d
mov edi, dword [esp + 0x10]
test al, al
jne 0x10065b39
mov esi, dword [esp + 0x64]
cmp dword [esp + 0x3c], esi
je 0x10068d4c
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10068b0c
push 0x2e
jmp 0x1006913b
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.1006a6c6
test eax, eax
jne 0x100636ec
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, dword [edi + 0x68]
call fcn.10062dd9
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062ecf
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.10062de8
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10062f3c
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062e0d
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062da7
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10069b21
jmp 0x10066844
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10069b2c
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push 5
mov edx, ebx
xor ecx, ecx
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push dword [esp + 0x24]
jmp 0x10068e2d
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, edi
call fcn.10062ea0
test al, al
jne 0x100690da
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
test byte [esp + 0x44], 0x10
mov esi, eax
je 0x10068e2c
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062e4e
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10069139
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.10062e2f
test al, al
je 0x1006510e
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10062f3c
mov ecx, ebx
sub esi, eax
call fcn.10062e3c
add eax, esi
push eax
jmp 0x10068e2d
push esi
lea ecx, [esp + 0x20]
call fcn.10069a2a
jmp 0x10066844
test al, 0x40
jne 0x10068e53
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10068f52
push 0x2c
jmp 0x1006913b
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
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 0x10068f17
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 0x10068ebb
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100630a0
test eax, eax
jne 0x10065b39
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov al, byte [esi + eax*8 + 0x1009d690]
jmp 0x10068ecb
test al, 2
je 0x10068ec5
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009d198]
movzx ecx, al
cmp ecx, 0xff
je 0x10065b39
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10068eee
cmp esi, 6
jne 0x10068905
mov ecx, edx
call fcn.10069b12
lea ecx, [esp + 0x1c]
test al, al
je 0x10068f0f
lea eax, [esi + 0x40]
push eax
call fcn.10069a1d
push dword [esp + 0x3c]
jmp 0x10068990
lea eax, [esi + 0x80]
jmp 0x10068f2a
test al, 0x30
jne 0x10065b39
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10069a1d
push dword [esp + 0x3c]
lea ecx, [esp + 0x20]
call fcn.10069b46
jmp 0x10066844
mov eax, dword [esp + 0x44]
test al, 2
je 0x10063a14
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x1006903c
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x40], eax
call fcn.100631e9
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10062cc6
mov ecx, eax
call fcn.100630a0
mov edx, esi
mov ecx, eax
call fcn.100631e9
mov esi, dword [esp + 0x40]
mov ebx, eax
mov dword [esp + 0x5c], ebx
pop ecx
test esi, esi
jne 0x10068fcb
cmp dword [esp + 0x18], 5
je 0x10068fcb
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a1d
push ebx
jmp 0x10068990
push 0xe000
lea ecx, [esp + 0x10]
call fcn.1006316c
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10069b12
test al, al
je 0x1006901e
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x3c]
shl eax, cl
cmp ebx, eax
jne 0x10069022
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10069a1d
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x10068905
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10069a1d
push dword [esp + 0x58]
jmp 0x10068952
test al, 0x30
jne 0x1006908f
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push 5
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100630a0
mov edx, esi
mov ecx, eax
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
jmp 0x10068e29
mov ecx, edi
call fcn.10062ea0
test al, al
je 0x10065b39
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
push 5
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.100630a0
mov edx, esi
mov ecx, eax
call fcn.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10062e43
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10069986
test eax, eax
jne 0x1006931b
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062dbe
test byte [esp + 0x44], 0x10
mov dword [esp + 0x58], eax
je 0x10069275
mov ecx, ebx
call fcn.10062cc6
mov ecx, eax
call fcn.10062d00
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062e4e
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x10069141
push 0xc
pop ecx
jmp 0x1006931e
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a6c6
test eax, eax
jne 0x100636ec
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x48], eax
call fcn.10062dd9
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062ecf
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.10062de8
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.10062f3c
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062e0d
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.10062e27
test al, al
je 0x100691ff
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10062e3c
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10062e23
mov ecx, eax
call fcn.10062dd9
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10068d30
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10062f3c
push ebx
push 0
lea ecx, [esp + 0xd8]
mov esi, eax
call fcn.10062de8
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x40]
mov ecx, dword [ecx]
push esi
call fcn.10062dd9
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.1006a2e9
mov esi, eax
test esi, esi
je 0x1006931b
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10069266
call fcn.10062dd9
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10062f45
jmp 0x10066844
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a6c6
test eax, eax
jne 0x100636ec
mov ecx, dword [edi + 0x68]
call fcn.10062dd9
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10062dd9
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.10062de8
mov ecx, dword [esp + 0x38]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.10062f3c
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062e0d
mov ecx, edi
call fcn.10062ecf
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.10062de3
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 0x10068d32
xor ecx, ecx
inc ecx
call fcn.10062cc6
jmp 0x100636ec
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063823
mov ecx, dword [ebp + 0x14]
call fcn.10062d00
mov ecx, edi
mov esi, eax
call fcn.10062d00
mov edx, esi
mov ecx, eax
call fcn.100631c7
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d00
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 0x1006941c
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x1006941c
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
je 0x100693d5
mov ecx, dword [esp + 0x48]
call fcn.100630e2
test al, al
jne 0x10069409
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 0x10069401
shr edx, 2
test dl, 1
je 0x10069409
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10069416
shr edx, 3
test dl, 1
jne 0x10069410
push 0x2a
jmp 0x1006729b
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x48]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x1006943c
test ecx, esi
jne 0x10069444
test dword [esp + 0x20], 0xc00
jne 0x1006943c
or esi, 0x10
test ecx, esi
je 0x100694d7
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.10069a2a
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.100632a7
jmp 0x100639d3
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 0x10069555
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d1e8]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a2a
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 0x100694b7
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069a1d
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069a1d
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a1d
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.100631e9
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a1d
jmp 0x100694bd
mov edi, eax
jmp 0x10063a14