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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
and dword [esp + 0x40], 0
mov eax, ecx
mov dword [esp + 4], eax
xor cl, cl
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0x74]
sbb eax, eax
and eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov byte [esp + 0x24], cl
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [eax*8 + 0x100a2700]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
shr eax, 0xe
and eax, 0x3ff
mov dword [esp + 0x14], edx
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + 0x100a1700]
movlpd qword [esp + 0x28], xmm0
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx]
and ecx, 7
and eax, 7
lea ecx, [eax + ecx*8]
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], esi
mov eax, dword [ecx + 0x70]
sub eax, edx
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [esp + 0x54], eax
sete al
xor edx, edx
or ecx, eax
inc edx
mov eax, dword [esp + 0x10]
or ecx, dword [eax + 0x44]
or ecx, dword [eax + 0x24]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x100638c8
cmp dword [eax + 0x2c], 0
jne 0x100636d1
push 0
push 5
mov ecx, eax
jmp 0x10063802
cmp dword [esp + 0x54], 0
je 0x10069617
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10062ff9
test eax, eax
jne 0x100637ec
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x1006379d
mov esi, edi
mov eax, dword [ebp + 0x18]
lea edi, [esp + 0x70]
push 0
push 6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ebx
lea edi, [esp + 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
lea edi, [esp + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [esp + 0xa8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x10]
lea edi, [esp + 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x20]
mov eax, dword [esp + 0x5c]
lea edi, [esp + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x68], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x6c], eax
mov al, byte [edi + 0x38]
mov byte [esp + 0x48], al
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x74], ecx
push eax
push dword [esp + 0x50]
call dword [edi + 0x64]
add esp, 0x14
test eax, eax
jne 0x100637f0
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a2700]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a1700]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x10063880
mov eax, dword [esp + 0x20]
and eax, 0x30000
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
shr eax, 0x10
test dl, al
jne 0x10063810
cmp dword [esp + 0x24], 0
jne 0x10063817
push 0x21
pop eax
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
push ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x50], ecx
mov ecx, edi
push eax
call fcn.1006f827
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10063875
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x10063835
mov eax, dword [esp + 0x48]
shr eax, 0x11
test dl, al
jne 0x10063835
push 0x22
jmp 0x100637eb
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x1006384f
mov eax, dword [esp + 0x48]
shr eax, 0x12
test dl, al
jne 0x1006384f
push 0x23
jmp 0x100637eb
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 0x10063879
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x100638c8
mov eax, dword [esp + 0x48]
shr eax, 0xe
test dl, al
je 0x1006392e
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x100638b0
shr eax, 8
test al, 0xf
jne 0x1006392e
cmp dword [ecx + 0x4c], edx
jne 0x1006392e
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shr ecx, 0xf
not cl
and cl, dl
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
and dword [esp + 0x18], 0
movzx eax, byte [ebx*8 + 0x100a2706]
mov ecx, dword [eax*4 + 0x100a5af8]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a2705]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
movzx ebx, byte [eax + 4]
mov dword [esp + 0x40], ebx
cmp ebx, 0xa0
mov ebx, dword [ebp + 0x10]
ja case.default.0x10063927
mov edi, dword [esp + 0x40]
mov dword [esp + 0x48], 0x8000000
jmp dword [edi*4 + 0x1006961e]
push 0x24
jmp 0x100637eb
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 + 0x1009d168]
lea ecx, [esp + 0x20]
push eax
call fcn.10069a74
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 0x1006737d
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.10063350
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 0x10063abe
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10063927
lea ecx, [esp + 0xc]
call fcn.1006322c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10063927.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062e35
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009d1d0]
call fcn.100631de
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069aa1
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d168]
lea ecx, [esp + 0x20]
push eax
call fcn.10069a74
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x1006737d
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.10063350
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100633fa
mov edi, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
push edi
mov dword [edi + 0x44], eax
mov dword [edi + 0x50], eax
call fcn.1006309d
xor eax, eax
jmp 0x10063807
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063927.1
cmp esi, edx
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
test eax, eax
je case.0x10063927.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10067383
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063927.1
cmp esi, 9
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
cmp eax, 2
jne case.default.0x10063927
mov ecx, ebx
jmp 0x10063b07
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063927.1
cmp esi, 2
jne case.default.0x10063927
xor edx, edx
mov ecx, edi
call fcn.100632b6
test al, al
je case.default.0x10063927
mov esi, edi
mov ecx, esi
call fcn.10062de9
mov ecx, eax
call fcn.10062ea6
mov ecx, esi
movzx ebx, byte [eax + 0x1009d1d0]
call fcn.10062de9
mov ecx, eax
call fcn.10062eb5
test al, al
jne case.default.0x10063927
test bl, 2
jne case.default.0x10063927
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063331
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10063235
mov edi, eax
mov ecx, edi
call fcn.1006330f
test al, al
jne 0x1006737d
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10069a74
mov ecx, esi
call fcn.10062de9
mov ecx, eax
call fcn.100631ba
push eax
lea ecx, [esp + 0x20]
call fcn.100633a8
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.100631de
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069aa1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063350
xor eax, eax
push eax
push eax
push eax
jmp 0x10066938
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10063c44
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10063927.1
cmp esi, 0x19
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
mov ecx, ebx
jmp 0x10063c22
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x10063927.11
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
xor edx, edx
inc edx
jmp case.0x10063927.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b85a8]
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.0x10063927.63
mov ebx, edi
cmp esi, 2
je 0x10063ce8
jmp case.default.0x10063927
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x10063927.14
push 2
pop edx
mov ecx, ebx
call fcn.10063164
test al, al
je case.default.0x10063927
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10063164
test al, al
je case.default.0x10063927
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10062dec
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063287
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ea6
mov ecx, ebx
movzx eax, byte [eax + 0x1009d1d0]
mov dword [esp + 0x48], eax
call fcn.10062de9
mov ecx, eax
call fcn.100631ba
push eax
lea ecx, [esp + 0x20]
call fcn.100633a8
lea ecx, [esp + 0x1c]
call fcn.10062efc
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.100631de
test dword [esp + 0x48], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10069aa1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063331
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062eb1
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x20]
shr edx, 1
and ecx, 8
and edx, 4
mov dword [esp + 0x28], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x10]
shr edx, 1
and edx, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
call fcn.10063235
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.1006330f
test al, al
jne 0x10067381
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069a74
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10063350
jmp 0x1006891a
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063927
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063927.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.1006325b
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x10063e4a
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, edi
jmp 0x10064d05
cmp esi, 2
jne 0x10063e65
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp 0x10063ce6
mov ecx, ebx
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
cmp esi, 9
je 0x10063e43
cmp esi, 0xa
jmp 0x10063e04
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062ea6
mov ecx, edi
movzx ebx, byte [eax + 0x1009d1d0]
call fcn.10062de9
mov ecx, eax
call fcn.10062eb5
test al, al
jne case.default.0x10063927
test bl, 2
jne case.default.0x10063927
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063331
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10063235
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.1006330f
test al, al
jne 0x1006737d
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069a74
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10062de9
mov ecx, eax
call fcn.100631ba
push eax
lea ecx, [esp + 0x20]
call fcn.100633a8
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.100631de
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069aa1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063350
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x10063c0e
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10063fcc
push 2
pop edx
mov ecx, ebx
call fcn.10063164
test al, al
je case.default.0x10063927
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10063164
test al, al
je case.default.0x10063927
jmp 0x10063e43
cmp esi, edx
jne case.default.0x10063927
mov ecx, edi
call fcn.100630eb
jmp 0x10063fbf
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063927
jmp 0x10063e43
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b85a8]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006401b
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10064d0a
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov dword [esp + 0x14], eax
jmp 0x10063ce8
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064084
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 2
jne 0x1006406e
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp case.0x10063927.63
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ada
jmp case.0x10063927.63
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 2
jne 0x100640b4
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x10063ce8
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ada
jmp 0x10063ce8
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b85a8]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100640fc
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10063927.63
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov dword [esp + 0x14], eax
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064219
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne 0x1006681f
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne 0x100641e6
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x100641a1
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
push 4
pop ecx
jmp 0x100641af
mov edx, esi
call fcn.10062fb5
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100641d6
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
jmp 0x100641e6
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10062fb5
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10069a6e
test al, al
je case.0x10063927.63
push 2
lea ecx, [esp + 0x10]
call fcn.1006320f
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.1003973b
jmp case.0x10063927.63
cmp esi, 0x11
jne 0x10064298
push 2
lea ecx, [esp + 0x10]
call fcn.1006320f
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne 0x10063ce8
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064284
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x10063ce8
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x14], 4
jmp 0x10063ce8
cmp esi, 0xa
jne 0x10064309
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, ebx
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne 0x10063ce6
mov ecx, ebx
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x100642f5
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x10063ce6
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x14], 4
jmp 0x10063ce6
push 0x80
lea ecx, [esp + 0x10]
call fcn.1006325b
cmp esi, 0x19
jne 0x10064532
mov ecx, edi
call fcn.10062e1e
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov ecx, dword [esp + 0x44]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x1006439e
mov ecx, edi
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x10064380
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x1006438f
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x54], edx
mov byte [esp + 0x30], dl
jmp 0x100644a0
push 4
pop eax
cmp ecx, 2
jne 0x100643b9
push 0x200000
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp 0x10064450
cmp ecx, eax
jne 0x100643d6
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069af0
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10064450
cmp ecx, 8
jne 0x10064453
cmp dword [esp + 0x54], 0x15
jne 0x100643f9
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069af6
mov byte [esp + 0x63], bl
pop ecx
pop ecx
test al, al
jne 0x100643fe
mov byte [esp + 0x5b], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a32
pop ecx
pop ecx
test al, al
jne 0x10064424
cmp byte [esp + 0x5b], al
jne 0x10064439
push 0x32
pop ecx
call fcn.10062de9
jmp 0x100637ec
cmp byte [esp + 0x5b], 0
je 0x10064442
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10062fe5
test al, al
je 0x10064442
push 4
pop eax
mov dword [esp + 0x44], eax
jmp 0x10064446
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10069ada
push 4
pop eax
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
call fcn.10069a66
push dword [esp + 0x2c]
mov dword [esp + 0x58], eax
push dword [esp + 0x2c]
mov byte [esp + 0x38], al
call fcn.10069a0c
pop ecx
pop ecx
test al, al
je 0x1006449c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
mov edx, dword [esp + 0x54]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10064391
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x18], 0
jne 0x1006450c
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x100644b3
cmp dl, bl
je 0x10064514
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
jne 0x1006450c
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10063271
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x44], ebx
push 4
setne cl
shl eax, 3
pop ebx
add ecx, ebx
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.1006327c
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x44]
call fcn.10069a66
mov byte [esp + 0x30], al
jmp case.0x10063927.1
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
cmp dl, bl
push 3
pop eax
cmovne eax, ebx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp case.0x10063927.63
cmp esi, 0x1a
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov dword [esp + 0x34], eax
test eax, eax
je 0x1006672f
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
push 4
mov esi, eax
mov dword [esp + 0x30], edx
pop ebx
lea edx, [esp + 0x40]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x40], ebx
call fcn.10069a66
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp dword [esp + 0x34], ebx
jne 0x1006459c
push dword [esp + 0x2c]
push esi
call fcn.10069af0
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a0c
pop ecx
pop ecx
test al, al
je 0x100645d4
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
mov ecx, dword [esp + 0x3c]
test al, al
push 1
movzx ecx, cl
pop edx
cmove ecx, edx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x30], cl
jmp 0x100645d7
xor edx, edx
inc edx
cmp byte [esp + 0x3c], dl
mov ecx, dword [esp + 0x34]
push 3
pop eax
cmovne eax, edx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.1006320f
push dword [esp + 0x34]
jmp 0x10063e57
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
cmp eax, 1
je case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov edi, dword [esp + 0x10]
jmp 0x100668bf
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x10064668
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, ebx
call fcn.10062e23
mov dword [esp + 0x14], eax
jmp 0x10063e43
cmp esi, 0xa
jne 0x10064681
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp 0x10064105
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
lea ecx, [esp + 0xc]
call fcn.100631ba
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10063e43
cmp esi, 0x1a
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
test eax, eax
je 0x1006672f
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10063e43
mov ebx, edi
cmp esi, 2
je 0x10063ce8
push 0xe8
lea ecx, [esp + 0x10]
call fcn.1006325b
and dword [esp + 0x14], 0
jmp 0x10065030
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x10064752
mov ecx, dword [ebp + 0x14]
call fcn.10062e3d
test al, al
je case.default.0x10063927
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
and esi, 0x3f
cmp esi, 9
jne 0x10064811
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne 0x1006681f
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne case.0x10063927.63
mov ecx, edi
call fcn.100630bb
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100647d9
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
jmp 0x100647e5
mov edx, esi
call fcn.10062fb5
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x1006658b
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
jmp case.0x10063927.63
cmp esi, 0xa
jne case.default.0x10063927
jmp 0x1006429d
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10063e01
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10062df2
test al, al
je case.default.0x10063927
lea ecx, [ebx + 0x10]
call fcn.10062df2
jmp 0x10063cde
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 0x100648e7
mov ecx, ebx
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 1
jne 0x100648c0
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100648a9
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100648b7
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10063927.63
mov ecx, ebx
call fcn.10062e1e
cmp eax, 2
jne 0x100648d7
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a86
push 1
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp case.0x10063927.63
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
test eax, eax
je 0x1006672f
mov ecx, ebx
call fcn.10062e1e
cmp eax, 2
jne 0x10064916
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, ebx
call fcn.10062e1e
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp 0x10063ce8
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10069a59
mov ecx, ebx
mov di, ax
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x30], 3
mov esi, edx
movzx eax, di
shld esi, ecx, 0x10
cdq
shl ecx, 0x10
or ecx, eax
or esi, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
jmp case.0x10063927.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10064a24
push 0x6b
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov esi, eax
mov byte [esp + 0x30], 1
mov eax, edx
mov dword [esp + 0x28], esi
push eax
push esi
mov dword [esp + 0x34], eax
call fcn.10069a0c
pop ecx
pop ecx
test al, al
je 0x100649ef
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
je 0x10064a12
push 2
lea ecx, [esp + 0x10]
call fcn.10063266
mov ecx, edi
call fcn.10062e1e
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10062e23
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10064d05
cmp esi, 0xd1
jne 0x10064ae2
push 0x6b
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10062e1e
cmp eax, 4
jne 0x10064a8f
push dword [esp + 0x2c]
push esi
call fcn.10069af0
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a0c
pop ecx
pop ecx
test al, al
je 0x10064ab6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
je 0x10064024
push 2
lea ecx, [esp + 0x10]
call fcn.10063266
mov ecx, edi
call fcn.10062e1e
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10064024
cmp esi, 9
jne 0x10064b49
mov ecx, ebx
call fcn.10062e1e
cmp eax, 1
je 0x10064c55
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne 0x1006681f
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp case.0x10063927.63
cmp esi, 0x11
jne 0x10064b8d
mov ecx, ebx
call fcn.10062e1e
cmp eax, 1
je 0x10064cba
mov ecx, edi
call fcn.10062e23
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp 0x10063ce8
cmp esi, 0x19
jne case.0x10063927.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov esi, eax
mov byte [esp + 0x30], 1
mov ebx, edx
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.10062e1e
cmp eax, 4
jne 0x10064bee
push ebx
push esi
call fcn.10069af0
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a0c
pop ecx
pop ecx
test al, al
je 0x10064c11
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
je 0x10064c34
push 2
lea ecx, [esp + 0x10]
call fcn.10063266
mov ecx, edi
call fcn.10062e1e
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10062e23
mov dword [esp + 0x18], eax
jmp 0x100640f3
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x10063927.12
cmp esi, 9
jne 0x10064cb5
xor edx, edx
mov ecx, edi
call fcn.1006314b
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.100630db
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x10064ca1
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x10064801
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x18], 4
jmp case.0x10063927.63
cmp esi, 0x11
jne 0x10064cd4
xor edx, edx
mov ecx, edi
call fcn.1006314b
mov edi, dword [esp + 0x10]
test al, al
je 0x10063b18
jmp 0x10063cec
cmp esi, 0x49
jne 0x10064d13
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
mov dword [esp + 0x18], eax
jmp case.0x10063927.63
cmp esi, 0x89
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ebx, dword [ebp + 0x14]
jmp 0x10063ce8
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064d8a
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 1
jne case.0x10063927.63
mov ecx, edi
jmp 0x10064c82
cmp esi, 2
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
test eax, eax
je 0x1006672f
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x10064e29
mov ecx, edi
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10062e1e
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10063325
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0a
jmp case.0x10063927.1
cmp esi, 9
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
cmp eax, 2
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.1006320f
jmp 0x10064e13
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063927
push 7
pop edx
mov ecx, edi
call fcn.100632b6
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
cmp eax, 2
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov ebx, eax
test ebx, ebx
je 0x1006672f
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.1006320f
push ebx
lea ecx, [esp + 0x10]
call fcn.10069b0a
jmp 0x10063b5e
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064d8a
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 1
jne 0x10064ef6
mov eax, dword [edi]
jmp 0x10064886
mov ecx, dword [esp + 0x10]
call fcn.10062fc3
test al, al
je 0x10064f1a
mov ecx, dword [esp + 0x38]
call fcn.10063325
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x10064e09
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
jmp case.0x10063927.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
jmp 0x10063c32
push 0x40
mov edx, 0x80
pop ecx
call fcn.10062fab
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069a6e
mov edi, dword [ebp + 0xc]
test al, al
je 0x10064f9f
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10062fe5
test al, al
je 0x10064f9f
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10069a6e
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.10069a86
mov ebx, edi
jmp 0x1006471a
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062df2
test al, al
je 0x10064f9f
xor edx, edx
mov ecx, edi
inc edx
call fcn.10062e5c
test al, al
je case.default.0x10063927
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10062fc3
test al, al
je 0x10064fe1
mov ecx, edi
call fcn.10062e1e
cmp eax, 2
je 0x10064ff8
mov ecx, esi
call fcn.10062fc9
test al, al
je 0x10064ffc
mov ecx, edi
call fcn.10062e1e
cmp eax, 4
jne 0x10064ffc
mov al, 1
jmp 0x10064ffe
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10069aa1
jmp 0x1006471a
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10063e43
mov ebx, edi
cmp esi, 2
je 0x10063ce8
push 0xe9
jmp 0x10064711
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 0x10067381
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
mov dword [esp + 0x50], edx
or cl, 0x40
mov byte [eax], cl
xor eax, eax
mov ecx, dword [esp + 0x1c]
test edx, edx
setne al
add ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x3c], ecx
movzx eax, byte [eax + 7]
mov ecx, dword [esp + 0xc]
and ecx, 0x1f00
sub ecx, 0x100
mov esi, dword [eax*4 + 0x100a24e0]
neg ecx
mov dword [esp + 0x34], esi
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [esp + 0x14], eax
setne al
add eax, 5
add ecx, eax
mov eax, dword [ebx]
and al, 7
mov dword [esp + 0x48], ecx
mov ecx, ebx
cmp al, 4
jne 0x10065225
call fcn.10062de9
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062f8a
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100691b0
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x48], esi
call fcn.10062f52
test al, al
je 0x10065160
mov ecx, ebx
call fcn.10062f5f
mov ebx, dword [esp + 0x48]
mov esi, eax
sub esi, dword [esp + 0x3c]
sub esi, ebx
lea eax, [esi - 2]
add eax, ebx
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.10069b7b
test al, al
je 0x100652cf
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x100652cf
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
jne 0x100652cf
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10062fb5
push ebx
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x10063ad7
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x1006518a
cmp dword [esp + 0xc], 0
je 0x1006520e
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069a6e
test al, al
jne 0x1006520e
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x44], esi
je 0x100652c8
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069a6e
test al, al
jne 0x100652c8
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10063287
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069a74
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a86
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069a74
mov dword [esp + 0x34], 0xfffffffc
push 4
pop ebx
jmp 0x10069281
push ebx
lea ecx, [esp + 0x20]
call fcn.10069a86
or dword [esp + 0x34], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x10069281
call fcn.10062e09
test al, al
je 0x10063b18
mov ecx, edi
call fcn.10062fbf
mov ecx, eax
call fcn.10062f6a
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x1006535d
mov ebx, dword [esp + 0x48]
mov esi, eax
sub esi, ebx
mov ecx, edi
sbb edx, 0
sub esi, dword [esp + 0x44]
sbb edx, dword [esp + 0x38]
sub esi, dword [esp + 0x3c]
sbb edx, 0
mov dword [esp + 0x40], edx
call fcn.10062fd1
mov cl, al
call fcn.10062eee
test al, al
jne 0x10065100
push dword [esp + 0x40]
push esi
call fcn.10069a32
pop ecx
pop ecx
test al, al
jne 0x10065100
mov ecx, dword [esp + 0x54]
call fcn.100632a3
test al, al
jne 0x10065359
push 0x30
jmp 0x100691b2
cmp dword [esp + 0xc], 0
je 0x100652c8
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069a6e
test al, al
jne 0x100652c8
push 0x10
pop ecx
call fcn.10062fa6
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10062fba
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10063287
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069a74
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a86
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069a74
push esi
lea ecx, [esp + 0x20]
call fcn.10069a93
jmp 0x10063ad7
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.1006a733
test eax, eax
jne 0x100637f0
mov ecx, edi
call fcn.10062ff2
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10062efc
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
cmp dword [esp + 0xc], 0
je 0x10065492
mov ecx, edi
call fcn.10062fd1
mov cl, al
call fcn.10062ef4
test al, al
je 0x10065408
mov ecx, dword [esp + 0x54]
call fcn.100632a3
test al, al
je 0x10065408
cmp dword [esp + 0x50], 0
jne 0x100653e5
push 0x40
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x34]
call fcn.1006a24d
test eax, eax
jne 0x100637f0
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10063287
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069a74
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a86
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069a74
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10062f0b
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.1006305f
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062f30
push ebx
lea ecx, [esp + 0x20]
call fcn.10069b8a
jmp 0x10063ad7
push esi
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10062f0b
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.1006305f
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062f30
push ebx
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x10063ad7
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10065527
mov ecx, edi
mov ebx, edi
call fcn.10062e1e
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x100654fc
mov ecx, edi
call fcn.10062fd5
mov esi, eax
jmp 0x10065518
sub esi, 2
cmp esi, 2
je 0x10065518
cmp esi, 4
je 0x10065518
mov ecx, edi
call fcn.10062fd5
cmp esi, eax
jne 0x10065c31
push esi
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp 0x10063cec
cmp esi, 0x1b
jne case.default.0x10063927
mov ecx, dword [esp + 0x10]
call fcn.10062fc3
test al, al
je case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, ebx
mov esi, eax
call fcn.10062de9
mov ecx, esi
mov edi, eax
call fcn.10062ee5
test edx, edx
jg 0x10064417
jl 0x1006556f
cmp eax, 0xffff
ja 0x10064417
mov ecx, edi
call fcn.10062ee5
test edx, edx
jg 0x10064417
jl 0x10065589
cmp eax, 0xffffffff
ja 0x10064417
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, esi
call fcn.10062ee5
mov ecx, edi
mov esi, eax
call fcn.10062ee5
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x10063927.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp 0x10064024
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100657eb
mov ecx, edi
call fcn.10062e3d
mov ecx, edi
test al, al
je 0x1006577d
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e3d
test al, al
je 0x100656db
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne case.default.0x10063927
cmp esi, 1
jne 0x100656be
mov ecx, edi
call fcn.100630bb
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x1006566e
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
jmp 0x1006567a
mov edx, esi
call fcn.10062fb5
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x1006569f
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
jmp 0x100656ab
mov edx, esi
call fcn.10062fb5
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x100641e6
push 0x89
lea ecx, [esp + 0x10]
call fcn.1006325b
push esi
lea ecx, [esp + 0x10]
call fcn.10069ab0
jmp 0x100641e6
mov ecx, ebx
call fcn.1006311b
test al, al
je 0x1006570e
push 0x8c
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
dec dword [esp + 0x14]
jmp case.0x10063927.63
mov ecx, ebx
call fcn.1006312b
test al, al
je 0x1006575b
push pe_nt_image_headers32
lea ecx, [esp + 0x10]
call fcn.1006325b
test byte [esp + 0x14], 8
je case.0x10063927.63
mov ecx, dword [esp + 0x10]
call fcn.10062fc3
test al, al
je case.0x10063927.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10069a86
and dword [esp + 0x14], 7
jmp case.0x10063927.63
mov ecx, ebx
call fcn.1006313b
test al, al
je case.default.0x10063927
push 0x121
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp case.0x10063927.63
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e3d
test al, al
je case.default.0x10063927
mov ecx, edi
call fcn.1006311b
test al, al
je 0x100657c0
push 0x8e
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, ebx
jmp 0x100656f6
mov ecx, edi
call fcn.1006312b
test al, al
je 0x100657d5
push 0x122
jmp 0x1006571e
mov ecx, edi
call fcn.1006313b
test al, al
je case.default.0x10063927
push 0x123
jmp 0x1006576f
cmp esi, 0x11
jne 0x100658f2
mov ecx, edi
call fcn.10062e23
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.1006311b
lea ecx, [esp + 0xc]
test al, al
je 0x10065838
push 0x8e
call fcn.1006325b
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
dec dword [esp + 0x14]
jmp 0x10063ce8
push 0
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
cmp dword [esp + 0x14], 0
jne 0x100658a4
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e7e
test al, al
jne 0x100658a4
mov ecx, ebx
call fcn.10062de9
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10062e1e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10063451
add esp, 0xc
test al, al
je 0x100658a4
push 0xa0
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp 0x10065ca4
mov ecx, edi
call fcn.10062e1e
cmp eax, 1
jne 0x100658e8
mov ecx, edi
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x100658d9
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x100658e8
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x14], 4
push 0x8a
jmp 0x10064925
cmp esi, 0xa
jne 0x100659fb
mov ecx, ebx
call fcn.10062e23
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.1006311b
lea ecx, [esp + 0xc]
test al, al
je 0x10065941
push 0x8c
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10063ce8
push 0
call fcn.1006325b
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
cmp dword [esp + 0x14], 0
jne 0x100659a4
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062e7e
test al, al
jne 0x100659a4
mov ecx, edi
call fcn.10062de9
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10062e1e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10063451
add esp, 0xc
test al, al
je 0x100659a4
push 0xa2
jmp 0x10065896
mov ecx, ebx
call fcn.10062e1e
cmp eax, 1
jne 0x100659e8
mov ecx, ebx
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x100659d9
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x100659e8
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp 0x1006593a
cmp esi, 0x19
jne 0x10065b2d
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
mov byte [esp + 0x30], al
cmp al, 1
jne 0x10065a83
mov ecx, edi
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x10065a47
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x10065a56
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10064636
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10065ad5
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
jne 0x10065ad5
push ebx
push esi
call fcn.10069af6
pop ecx
pop ecx
test al, al
je 0x10065af5
mov ecx, dword [esp + 0x10]
push 1
call fcn.10062fe5
test al, al
je 0x10065af5
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.1006325b
push dword [esp + 0x30]
lea ecx, [esp + 0x10]
call fcn.10069b20
jmp 0x10064636
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a32
pop ecx
pop ecx
test al, al
je 0x10065ad5
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.1006325b
and dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x10063927.63
cmp esi, 0x1a
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov dword [esp + 0x34], eax
test eax, eax
je 0x1006672f
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.1006325b
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10069ab0
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
lea edx, [esp + 0x50]
call fcn.10069a66
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065c38
mov ecx, edi
call fcn.10062e23
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062e27
test al, al
je case.default.0x10063927
cmp dword [esp + 0x14], 0
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e7e
test al, al
jne 0x10065c2d
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10063197
cmp eax, 2
jne 0x10065ca4
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x100691b2
cmp esi, 0xa
jne 0x10065cea
mov ecx, ebx
call fcn.10062e23
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.1006325b
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e27
test al, al
je case.default.0x10063927
cmp dword [esp + 0x14], 0
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062e7e
test al, al
jne 0x10065c2d
mov ecx, esi
call fcn.10062de9
mov ecx, eax
call fcn.10062eca
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10062fd5
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x30], al
call fcn.10062de9
mov ecx, eax
call fcn.100631ba
push eax
lea ecx, [esp + 0x20]
call fcn.100633a8
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10063927.1
cmp esi, 0x19
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.100630cb
test al, al
je case.default.0x10063927
mov ecx, edi
call fcn.10062e23
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.1006325b
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10069b36
jmp 0x10064636
mov ecx, ebx
call fcn.10062e1e
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.1006320f
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
cmp esi, 9
jne 0x1006401b
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 1
jne case.0x10063927.63
jmp 0x10064884
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, ebx
call fcn.100630cb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b41
jmp 0x10064105
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, ebx
mov esi, eax
call fcn.10062de9
mov ecx, eax
call fcn.10062e35
mov ecx, esi
mov bl, al
call fcn.10062e35
cmp al, bl
jne case.default.0x10063927
mov ecx, esi
call fcn.10062e74
test al, al
jne case.default.0x10063927
mov ecx, esi
call fcn.10062eb5
test al, al
jne case.default.0x10063927
mov ecx, esi
call fcn.100631b0
test al, al
je 0x10065e3f
mov ecx, esi
call fcn.100631ba
cmp eax, 1
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10063ce8
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10065eab
mov ecx, ebx
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10063325
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.1006325b
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0a
jmp 0x10063c20
cmp esi, 9
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
cmp eax, 2
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.1006320f
mov ecx, ebx
jmp 0x10064e15
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
cmp eax, 2
jne case.default.0x10063927
push 6
pop edx
mov ecx, ebx
call fcn.100632b6
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
mov edi, eax
test edi, edi
je 0x1006672f
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.1006320f
push edi
jmp 0x10064ebf
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065f86
mov ecx, edi
call fcn.1006311b
test al, al
je 0x1006601c
mov ecx, edi
call fcn.10062e23
cmp eax, 7
jae 0x10066015
push dword [eax*4 + 0x1009d1b0]
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp case.0x10063927.1
cmp esi, 3
jne 0x10066060
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov esi, eax
mov bl, 4
mov eax, edx
mov dword [esp + 0x28], esi
push eax
push esi
mov dword [esp + 0x34], eax
mov byte [esp + 0x38], bl
call fcn.10069a0c
pop ecx
pop ecx
test al, al
je 0x10065fd7
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
movzx ebx, bl
push 1
pop eax
cmove ebx, eax
mov byte [esp + 0x30], bl
push 0x68
pop eax
push 0x6a
pop ecx
cmp bl, 1
cmove eax, ecx
push eax
jmp 0x10065f78
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066060
mov ecx, edi
call fcn.1006311b
test al, al
je 0x1006601c
mov ecx, edi
call fcn.10062e23
cmp eax, 2
je 0x10066015
cmp eax, 7
jae 0x10066015
push dword [eax*4 + 0x1009d698]
jmp 0x10065f78
push 0x31
jmp 0x10064419
mov ecx, edi
call fcn.10062e1e
cmp eax, 2
jb case.default.0x10063927
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0a
mov ecx, edi
call fcn.10062e23
mov dword [esp + 0x14], eax
jmp 0x10064636
cmp esi, 2
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
test eax, eax
je 0x1006672f
mov ecx, edi
call fcn.10062e1e
cmp eax, esi
je 0x1006609d
mov ecx, edi
call fcn.10062e1e
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10062fd5
cmp esi, eax
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0a
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x100660c9
push edx
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp case.0x10063927.1
cmp esi, 3
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10066104
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
jne 0x10066104
push 1
jmp 0x100660bb
mov byte [esp + 0x30], 2
jmp case.0x10063927.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x100661ef
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 1
jne 0x1006617c
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006616a
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10066178
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10066198
mov ecx, ebx
call fcn.10062e23
cmp eax, 1
jne case.default.0x10063927
push 2
jmp 0x10064524
cmp esi, 0x19
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
xor ebx, ebx
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], dl
cmp eax, ebx
jne 0x100661db
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
je case.0x10063927.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.10063266
mov byte [esp + 0x30], bl
jmp case.0x10063927.63
call fcn.10062e1e
test eax, eax
je 0x1006672f
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
cmp esi, 0xa
jne 0x10066232
mov ecx, ebx
call fcn.10062e23
cmp eax, 1
jne case.default.0x10063927
push 2
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp 0x10063ce6
cmp esi, 0x1a
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
xor ebx, ebx
movzx eax, al
xor cl, cl
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x3c], ecx
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], cl
cmp eax, ebx
jne 0x1006627b
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
je 0x10063ce6
push 0x10
lea ecx, [esp + 0x10]
call fcn.10063266
mov al, bl
jmp 0x10065b9e
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063e01
mov ecx, edi
call fcn.10062e23
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x100662bb
cmp eax, 4
jmp 0x10064897
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x100648ae
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006630d
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, ebx
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
jmp 0x10063a0b
cmp esi, 0xca
jne 0x10066359
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ab0
mov ecx, ebx
call fcn.10062e23
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10063ce8
push edx
lea ecx, [esp + 0x10]
call fcn.1006320f
cmp esi, 0x49
jne 0x10066380
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
cmp eax, 1
jne case.default.0x10063927
mov ecx, edi
jmp 0x10064649
cmp esi, 0x4a
jne case.default.0x10063927
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
cmp eax, 1
jne case.default.0x10063927
mov ecx, ebx
jmp 0x1006466d
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, ebx
mov esi, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
test eax, eax
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
xor edx, edx
mov ecx, eax
call fcn.10062e5c
test al, al
je case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov edi, eax
call fcn.10062e14
test al, al
je 0x10066400
mov ecx, ebx
call fcn.10062e1e
cmp eax, edi
jne 0x1006681f
push edi
lea ecx, [esp + 0x10]
call fcn.10069ac5
jmp 0x10063b5e
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, edi
mov esi, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
test eax, eax
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062de9
xor edx, edx
mov ecx, eax
call fcn.10062e5c
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
mov ecx, edi
mov ebx, eax
call fcn.10062e14
test al, al
je 0x1006646e
mov ecx, edi
call fcn.10062e1e
cmp eax, ebx
jne 0x1006681f
push ebx
jmp 0x10066401
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063927
mov ecx, edi
call fcn.10062de9
mov ecx, eax
call fcn.10062ea6
mov ecx, ebx
mov esi, eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ea6
cmp esi, eax
jne case.default.0x10063927
mov ecx, edi
mov esi, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062eb5
test al, al
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
mov ebx, eax
test ebx, ebx
je 0x1006672f
jmp 0x1006645f
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006659c
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
jne 0x1006681f
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne case.0x10063927.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x1006655e
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062fb5
push 4
pop ecx
jmp 0x1006656c
mov edx, esi
call fcn.10062fb5
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10066587
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x100647fd
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10062fb5
add dword [esp + 0x14], 4
jmp case.0x10063927.63
cmp esi, 0xa
jne 0x100665e8
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, ebx
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne 0x10063ce6
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100642f5
jmp 0x100642d8
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
lea ecx, [esp + 0xc]
call fcn.100631ba
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x1006671b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062e1e
cmp eax, 1
jne 0x10066690
mov ecx, edi
call fcn.100630bb
lea ecx, [esp + 0x20]
test al, al
jne 0x10066660
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062fb5
jmp 0x1006666f
mov edx, Ordinal_2
call fcn.10062fb5
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100666ca
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10062e1e
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10069a66
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x10063927.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
jne case.0x10063927.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, edi
call fcn.10062e1e
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp case.0x10063927.1
cmp esi, 0x1a
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
test eax, eax
jne 0x10066736
push 0x34
jmp 0x100637eb
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10062e1e
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
jmp 0x10065b95
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063927.61
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ac5
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
cmp eax, 1
jne 0x10063ce8
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100667d2
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100667e0
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10063ce8
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006694c
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
cmp esi, eax
je 0x10066826
push 0x35
jmp 0x100637eb
cmp esi, 1
je 0x10066529
cmp dword [esp + 0x54], 0x668
jne 0x10066946
cmp dword [esp + 0x14], 0
je 0x1006684f
cmp dword [esp + 0x18], 0
jne 0x10066946
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062fc9
test al, al
je 0x1006687d
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x1006687d
cmp esi, 4
jb 0x1006687d
cmp esi, 8
jne 0x10066946
push 0x8000000
jmp 0x100668a8
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069a6e
test al, al
jne 0x10066946
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10069ac5
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10063271
push 0x90
lea ecx, [esp + 0x10]
call fcn.1006327c
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063331
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10063235
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.1006330f
test al, al
jne 0x10067381
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069a74
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.1006320f
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063350
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.100633fa
jmp 0x10063ad7
push esi
jmp 0x10064f22
cmp esi, 0xa
jne case.default.0x10063927
jmp 0x100665a1
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100669a6
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069a6e
test al, al
je case.0x10063927.63
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x10064207
cmp esi, 0x11
je 0x10064024
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x10064105
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066a75
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x10066ac8
test edx, edx
jne case.default.0x10063927
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10063287
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d168]
lea ecx, [esp + 0x20]
push eax
call fcn.10069a74
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.0x10063927.0
cmp esi, 2
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.1006325b
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10063271
jmp 0x10063ce6
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x10066ac4
cmp esi, edx
jne 0x10066a75
mov ecx, edi
call fcn.10062e23
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.0x10063927.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10066b7c
mov ecx, edi
mov ebx, edi
call fcn.10062e1e
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x10066b14
push 0x1000
mov ecx, esi
call fcn.100631eb
test al, al
jne 0x10063ce8
mov ecx, edi
call fcn.10062e1e
cmp eax, 8
jne 0x10066b37
push 0x2000
mov ecx, esi
call fcn.100631eb
test al, al
je 0x10066b37
push 4
jmp 0x10064925
mov ecx, edi
call fcn.10062e1e
cmp eax, 0xa
jne case.default.0x10063927
push 0x800
mov ecx, esi
call fcn.100631eb
test al, al
je case.default.0x10063927
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
lea ecx, [esp + 0xc]
call fcn.100631ba
jmp 0x1006402b
cmp esi, edx
jne case.default.0x10063927
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10066ba0
mov ecx, edi
call fcn.10062e23
add eax, 0x364c0
jmp 0x10066a24
cmp eax, 0xec
jne 0x10066bb8
mov ecx, edi
call fcn.10062e23
add eax, 0x374d0
jmp 0x10066a24
cmp eax, 0xef
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
add eax, 0x374d8
jmp 0x10066a24
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063927
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, edi
mov ebx, edi
call fcn.10062e1e
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10066c14
push 0x800
mov ecx, esi
call fcn.100631eb
test al, al
jne 0x10066b30
mov ecx, edi
call fcn.10062e1e
cmp eax, 4
jne 0x10066c34
push 0x1000
mov ecx, esi
call fcn.100631eb
test al, al
jne 0x10063ce8
mov ecx, edi
call fcn.10062e1e
cmp eax, 8
jne case.default.0x10063927
push 0x2000
mov ecx, esi
call fcn.100631eb
test al, al
je case.default.0x10063927
mov ecx, dword [esp + 0x38]
call fcn.10063325
and eax, 0xffff1fff
jmp 0x10066b64
test esi, esi
jne case.0x10063927.70
push edx
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp case.0x10063927.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
push eax
jmp 0x10066c70
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066cb7
mov ecx, edi
call fcn.10062e23
test eax, eax
jne case.default.0x10063927
mov ecx, dword [esp + 0x38]
call fcn.10063325
jmp 0x10066a24
cmp esi, 2
jne case.default.0x10063927
jmp 0x10066a9d
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066d05
mov ecx, ebx
call fcn.100630fb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b50
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10064a12
cmp esi, 0xca
jne case.default.0x10063927
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, ebx
call fcn.100630fb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b50
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10064105
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066d9c
mov ecx, ebx
call fcn.100630fb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b50
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10064658
cmp esi, 0xca
jne case.default.0x10063927
jmp 0x10066d22
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066df6
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069a6e
test al, al
je case.0x10063927.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x10063927.63
mov ecx, eax
jmp 0x10066992
cmp esi, 0x11
je 0x10064024
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x100640fc
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10066e32
mov ecx, edi
call fcn.10062e1e
cmp eax, 1
je case.default.0x10063927
jmp 0x100655cc
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
cmp eax, 1
je case.default.0x10063927
jmp 0x1006639a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066f10
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006310b
test al, al
je 0x10066ec4
mov ecx, ebx
call fcn.1006310b
test al, al
je 0x10066ec4
push 0x16f
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069a6e
test al, al
je case.0x10063927.63
push 0x10
jmp 0x100641fe
mov ecx, edi
call fcn.100630fb
test al, al
je 0x10066f90
mov ecx, ebx
call fcn.100630fb
test al, al
je 0x10066f90
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069a6e
test al, al
je case.0x10063927.63
push 0x2001d6
jmp 0x10066998
cmp esi, 0x11
jne 0x10066f50
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006310b
test al, al
je 0x10066f3e
push 0x16f
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x10063ce8
mov ecx, edi
call fcn.100630fb
test al, al
je 0x10066f90
push 0x40017e
jmp 0x10066f30
cmp esi, 0xa
jne 0x10066f90
mov ecx, ebx
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006310b
test al, al
je 0x10066f7e
push 0x17f
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x10063ce6
mov ecx, ebx
call fcn.100630fb
test al, al
je 0x10066f90
push 0x2001d6
jmp 0x10066f70
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x4c], eax
call fcn.1006327c
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 0x10066fdc
mov ecx, ebx
call fcn.10062e3d
test al, al
je 0x10066fe5
jmp 0x10064a1d
cmp esi, 0x11
je 0x10063ce8
push dword [esp + 0x48]
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
mov ecx, ebx
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100630fb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b50
cmp esi, 9
jne 0x10063e86
mov ecx, edi
call fcn.10062e3d
jmp 0x10063fbf
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10067052
xor edx, edx
mov ecx, eax
call fcn.1006317e
test al, al
je case.default.0x10063927
and esi, 0x3f
jmp case.0x10063927.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10067052
push 7
pop edx
mov ecx, eax
call fcn.100632b6
jmp 0x1006704a
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10067085
mov edx, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, edx
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006400c
cmp esi, 0x11
jne case.default.0x10063927
mov eax, dword [edi + 4]
jmp 0x1006402b
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100670fc
mov ecx, edi
call fcn.100630fb
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100630fb
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069b5f
mov ecx, edi
call fcn.10062e23
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10064d05
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, edi
call fcn.100630fb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b50
jmp 0x10064024
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10064a12
cmp esi, 0x11
je 0x10064024
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
lea ecx, [esp + 0xc]
call fcn.100631ba
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10063e43
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100670c6
cmp esi, 0x11
je 0x10067105
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
lea ecx, [esp + 0xc]
call fcn.100631ba
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063927
mov ecx, edi
call fcn.100630fb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b50
jmp 0x1006715a
mov ebx, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
or eax, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x10064a12
cmp esi, 0xd1
jmp 0x1006401e
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x100670c6
cmp esi, 0xd1
jmp 0x100670ff
mov ecx, dword [ebp + 0xc]
call fcn.10062e23
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10063927.63
cmp esi, 0xd9
jne case.default.0x10063927
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.100631ba
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x30], 2
mov esi, edx
movzx eax, bl
cdq
shld edx, eax, 8
shl eax, 8
add ecx, eax
mov dword [esp + 0x28], ecx
adc esi, edx
mov dword [esp + 0x2c], esi
jmp case.0x10063927.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.0x10063927.63
cmp ecx, 0x6c9
jne case.default.0x10063927
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, dword [ebp + 0x18]
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
mov ecx, dword [ebp + 0x14]
jmp 0x100672a6
mov edi, dword [ebp + 0xc]
and dword [esp + 0x2c], 0
movzx eax, cl
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [edi + 4]
mov dword [esp + 0xc], 0x10f
mov dword [esp + 0x14], eax
cmp esi, 9
je 0x10064a1d
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10063b18
jmp 0x10063cec
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x100637f0
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 0x100673da
push 0x18
lea ecx, [esp + 0x10]
call fcn.10063290
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a93
jmp case.0x10063927.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069a86
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069a86
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp case.0x10063927.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006749f
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062e3d
test al, al
je 0x10067455
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp case.0x10063927.93
mov ecx, edi
call fcn.10062e3d
test al, al
je 0x1006746c
mov ecx, dword [esp + 0x38]
call fcn.10063325
inc eax
jmp 0x10067446
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069a6e
test al, al
je case.0x10063927.93
push 1
lea ecx, [esp + 0x10]
call fcn.1006320f
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.1003973b
jmp case.0x10063927.93
cmp esi, 0x11
jne 0x100674b0
mov ecx, edi
call fcn.10062e23
jmp 0x10068505
cmp esi, 0xa
jne case.default.0x10063927
push edx
lea ecx, [esp + 0x10]
call fcn.1006320f
jmp 0x100684fc
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062de9
mov ecx, eax
call fcn.100630cb
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b41
jmp case.0x10063927.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063927
mov ebx, edi
jmp 0x10068509
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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10067f93
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e1e
mov ecx, eax
call fcn.100632f9
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.100632e9
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10069a5e
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp 0x100684fc
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x10063927.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x30], 1
jmp case.0x10063927.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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
or eax, dword [edi + 8]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10067623
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x100693ca
cmp esi, 0xca
jmp 0x100684f6
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10067648
push 7
pop edx
mov ecx, eax
call fcn.100632b6
test al, al
je case.default.0x10063927
and esi, 0x3f
jmp case.0x10063927.103
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x10063927.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x100676a1
mov ecx, ebx
call fcn.10062e1e
mov ecx, eax
call fcn.100632f9
push eax
jmp 0x100676b6
mov ecx, edi
call fcn.10062e1e
cmp eax, 0x20
jne case.0x10063927.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp case.0x10063927.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x10063927.106
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e3d
test al, al
je case.0x10063927.106
mov ecx, edi
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
or esi, eax
mov ecx, esi
call fcn.100632f9
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.10063325
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.1006325b
mov ecx, edi
call fcn.10062e23
jmp 0x100693bf
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 + 0x1009d5d8]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067749
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100693ca
cmp esi, 0x11
jne case.default.0x10063927
mov eax, dword [edi + 4]
jmp 0x10068505
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov ecx, eax
call fcn.100632f9
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.100632e9
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10069a5e
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp 0x100674a4
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x34], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10062e4c
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.10062e4c
test al, al
je case.default.0x10063927
mov ecx, dword [ebp + 0x14]
call fcn.10062e4c
test al, al
je case.default.0x10063927
mov ecx, dword [ebp + 0x18]
call fcn.10062e4c
test al, al
je case.default.0x10063927
mov ecx, dword [esp + 0x34]
call fcn.10062e4c
test al, al
je case.default.0x10063927
mov ecx, esi
call fcn.10062dff
test al, al
je case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10062e23
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10062e23
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.10062e23
mov edx, eax
test bl, 3
jne 0x10067870
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10067870
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10067870
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10067870
mov ecx, edi
call fcn.10062e23
mov edx, ebx
mov ecx, eax
call fcn.100632e2
mov ebx, dword [esp + 0x24]
jmp 0x10068505
push 0x3c
jmp 0x10064419
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x10063927.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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x1006773a
cmp esi, 0xd1
jne case.default.0x10063927
jmp 0x100674a4
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10063927.115
push 2
pop edx
mov ecx, eax
call fcn.10062e5c
test al, al
je case.default.0x10063927
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x48]
or ecx, eax
or dword [esp + 0xc], ecx
jmp 0x1006798c
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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a94
cmp esi, 0x89
jne case.default.0x10063927
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10068505
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
test al, 1
jne 0x10067a3d
mov ecx, edi
call fcn.10062e23
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10062e23
cmp esi, eax
jne 0x10067a3d
mov ecx, dword [ebp + 0x14]
call fcn.10062e1e
mov ecx, eax
call fcn.100632f9
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062df2
mov ecx, ebx
test al, al
jne 0x100693c5
call fcn.10062dff
test al, al
je case.default.0x10063927
jmp 0x10068509
push 0x1d
jmp 0x10064419
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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
and dword [esp + 0x2c], 0
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and ecx, 7
shl eax, 4
shl ecx, 9
add ecx, esi
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp ecx, 0x249
jne 0x10067aac
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 0x100693ca
cmp ecx, 0x289
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ebx, dword [ebp + 0x14]
jmp 0x10068505
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.0x10063927.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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x2c], ecx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
xor eax, eax
or eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
cmp eax, 0x649
je 0x10067a94
cmp eax, 0x689
jmp 0x10067ab2
mov ecx, dword [ebp + 0xc]
call fcn.100630cb
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.100630cb
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069b6d
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100693a5
cmp esi, 0x51
jne case.default.0x10063927
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
jmp 0x10068505
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063927.128
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x10067766
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e1e
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10062e1e
or esi, eax
mov ecx, esi
call fcn.100632f9
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.100632e9
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10069a5e
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp 0x10067bbe
mov ecx, dword [ebp + 0x18]
call fcn.10062dec
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x100693a5
cmp eax, 0x651
jmp 0x10067bb8
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067d37
mov ecx, edi
call fcn.10062e3d
test al, al
je 0x10067ce3
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
mov ecx, edi
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ada
mov ecx, ebx
call fcn.10062e23
mov ecx, edi
jmp 0x100693c1
mov ecx, ebx
call fcn.10062e3d
test al, al
je 0x10067d04
mov ecx, ebx
call fcn.10062e1e
push eax
lea ecx, [esp + 0x10]
call fcn.10069ada
jmp 0x1006770b
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10063287
test eax, eax
je 0x10067d6a
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10063271
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp 0x1006770b
cmp esi, 0x11
jne 0x10067d6e
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10063287
test eax, eax
je 0x100674a4
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10063271
push 0x40017e
jmp 0x10067791
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
cmp esi, 0xa
jne case.default.0x10063927
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10063287
test eax, eax
je 0x100684fc
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10063271
push 0x2001d6
jmp 0x1006756c
mov ecx, dword [ebp + 0xc]
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
or esi, eax
mov ecx, esi
call fcn.100632f9
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006770b
cmp esi, 0x11
je 0x100674a4
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
jmp 0x100684f3
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10067e8a
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069a6e
test al, al
je case.0x10063927.93
lea ecx, [esp + 0xc]
call fcn.1006321a
mov ecx, ebx
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ecx, dword [ebp + 0x14]
jmp 0x100693c1
cmp esi, 0x51
je 0x10067bbe
cmp esi, 0x89
jne case.default.0x10063927
lea ecx, [esp + 0xc]
call fcn.1006321a
jmp 0x10067ab8
mov ecx, dword [ebp + 0xc]
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
or esi, eax
mov ecx, esi
call fcn.100632f9
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067e69
cmp esi, 0x89
je 0x10067ab8
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
mov ecx, dword [ebp + 0x14]
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x100678f6
jmp 0x1006770b
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067e21
cmp esi, 0x51
je 0x10067bbe
cmp esi, 0x89
je 0x10067e9f
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x10067f04
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067e69
cmp esi, 0x89
je 0x10067ab8
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
cmp esi, 9
je 0x10067cd5
jmp 0x100684f3
mov ecx, dword [ebp + 0xc]
call fcn.10062e1e
mov ecx, ebx
mov esi, eax
call fcn.10062e1e
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009d5d8]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a94
cmp esi, 0x89
je 0x10067ab8
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
cmp esi, 0x4a
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
jmp 0x10068503
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 + 0x1009d5d8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a94
cmp esi, 0x89
je 0x10067ab8
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10063271
mov ecx, dword [esp + 0x38]
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
lea ecx, [esp + 0xc]
call fcn.100631ba
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062de9
mov ecx, eax
call fcn.10062ee5
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x100680db
mov ecx, edi
call fcn.10062e23
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100693ba
cmp esi, 0xd1
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067bd3
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10068142
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10067741
cmp esi, 0x11
jmp 0x100680e1
cmp esi, 0xd1
jne case.0x10063927.146
lea ecx, [esp + 0xc]
call fcn.10063223
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 + 0x1009d5d8]
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 0x100681bd
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x100681a7
mov ecx, ebx
call fcn.10062e1e
cmp eax, 8
je 0x100681a7
xor eax, eax
jmp 0x100681ab
mov eax, dword [esp + 0x48]
or dword [esp + 0xc], eax
xor eax, eax
mov edx, dword [ebp + 0x14]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 4
mov ecx, dword [edx + 0xc]
mov byte [esp + 0x30], al
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
je 0x10068133
cmp esi, 0xd1
jne case.default.0x10063927
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10068509
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10062e1e
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009d5d8]
or dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, dword [esp + 0x34]
cmp eax, 0x249
jne 0x1006824f
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 0x100675bc
cmp eax, 0x449
jne 0x100682a2
lea ecx, [esp + 0xc]
call fcn.1006321a
mov ecx, ebx
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062e23
shl eax, 4
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10068509
cmp eax, 0x289
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x1006827e
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.0x10063927
call fcn.10062dec
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10062e1e
mov ecx, edi
mov esi, eax
call fcn.10062e1e
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10062e1e
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10062e1e
or eax, esi
mov ecx, eax
call fcn.100632f9
push eax
lea ecx, [esp + 0x10]
call fcn.1006327c
mov ecx, dword [esp + 0x50]
call fcn.10062de9
mov ecx, eax
call fcn.10069a55
and al, 0xf
movzx eax, al
cdq
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x40]
cmp eax, 0x249
jne 0x100683a5
mov ecx, ebx
call fcn.10062e23
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e23
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10062e23
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10063927.93
cmp eax, 0x449
jne 0x100683e9
lea ecx, [esp + 0xc]
call fcn.1006321a
mov ecx, ebx
call fcn.10062e23
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062e23
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10068509
cmp eax, 0x289
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x100683d4
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a94
cmp esi, 0x11
je 0x100674a4
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, eax
call fcn.10063325
push eax
lea ecx, [esp + 0x10]
call fcn.1006325b
jmp 0x100684fc
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 + 0x1009d5d8]
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 0x1006824f
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 0x100684bd
lea ecx, [esp + 0xc]
call fcn.1006321a
mov ecx, dword [ebp + 0x18]
call fcn.10062e23
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062e23
jmp 0x10068242
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
mov ecx, dword [ebp + 0x18]
jmp 0x100684af
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063927
mov ecx, edi
call fcn.10062e23
mov dword [esp + 0x14], eax
jmp case.0x10063927.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x100678fc
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063927
mov ecx, ebx
call fcn.10062e23
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10062dec
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ea6
mov ecx, ebx
movzx eax, byte [eax + 0x1009d1d0]
mov dword [esp + 0x48], eax
call fcn.10062de9
mov ecx, eax
call fcn.100631ba
push eax
lea ecx, [esp + 0x20]
call fcn.100633a8
lea ecx, [esp + 0x1c]
call fcn.10062efc
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.100631de
test dword [esp + 0x48], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069aa1
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e88
test al, al
je 0x10068591
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e96
test al, al
je 0x100685b7
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062eb1
mov dword [esp + 0x24], eax
jmp 0x100685bc
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.100631cb
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10062e23
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.10063245
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x38], eax
call fcn.10062efc
mov ecx, eax
call fcn.10062fa6
mov edx, 0x400000
mov ecx, eax
call fcn.100631e2
mov esi, dword [esp + 0x38]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x38], esi
call fcn.10062fab
mov edx, 0x80000
mov ecx, eax
call fcn.10062fab
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10069a6e
test al, al
je 0x100686af
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10062fab
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069a6e
test al, al
jne 0x10069473
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10062fb0
or esi, eax
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
call fcn.100631ff
test al, al
je 0x100686e9
test esi, 0x80df8110
jne 0x100686f5
mov edx, 0x400
mov ecx, 0x800
call fcn.10062fab
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069a6e
test al, al
jne 0x100686e9
or esi, 0x10
mov dword [esp + 0x38], esi
test esi, 0x80df8110
je 0x1006884d
push 4
lea ecx, [esp + 0x10]
call fcn.10063298
mov edx, dword [esp + 0x38]
mov esi, eax
mov ecx, edx
and esi, 0x800000
and ecx, 0x8000
shl ecx, 4
or ecx, edx
and edx, 0x100
and ecx, 0xffff78ef
shl ecx, 4
or ecx, edx
shl ecx, 4
or esi, ecx
lea ecx, [esp + 0xc]
push 5
call fcn.10063298
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x34], eax
test eax, 0x10000000
je 0x100687fe
mov ecx, dword [esp + 0x44]
call fcn.10063205
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10062de9
mov ecx, eax
call fcn.100631d5
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x100687f7
mov esi, dword [esp + 0x34]
mov ecx, edx
mov eax, esi
mov dword [esp + 0x50], 4
and eax, 0x60000000
mov dword [esp + 0x6c], eax
call fcn.10069bbf
lea edx, [esp + 0x50]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
call fcn.10069a5e
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x38], eax
cmp eax, 0x40000000
ja 0x100687f7
lea edx, [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.10069a5e
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10063271
mov ecx, dword [esp + 0x5c]
call fcn.10069bbf
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.1006327c
jmp 0x1006883e
push 0x29
jmp 0x100691b2
push 0x19
lea ecx, [esp + 0x10]
call fcn.10063298
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.10063298
mov ecx, dword [esp + 0x34]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009d0a0]
lea ecx, [esp + 0x10]
call fcn.1006320f
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0x20]
call fcn.10069a93
jmp 0x100688f7
push 0xd
lea ecx, [esp + 0x10]
call fcn.10063298
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.10063298
mov ecx, dword [esp + 0x38]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x38]
or esi, eax
call fcn.10063319
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10063271
test esi, 0x8000807e
je 0x100688d3
push 0x18
lea ecx, [esp + 0x10]
call fcn.10063290
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d170]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10069a93
jmp 0x10068904
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069a86
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069a86
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.100631eb
test al, al
jne 0x10068fb9
mov eax, dword [esp + 0x48]
test al, 0x42
jne 0x10068eb2
test al, 1
je 0x10068abd
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10063304
pop ecx
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.100631f7
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x100689d8
test al, al
jne 0x100689d8
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x10068982
test ebx, ebx
jne 0x10068982
push esi
jmp 0x10068a07
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063287
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.10069b7b
test al, al
je 0x100689c2
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x100689c2
lea eax, [esi + 0x40]
jmp 0x10068a6c
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push ebx
jmp 0x10068ea4
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x10068a15
cmp dword [esp + 0x54], 0
jne 0x10068a15
push esi
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x1006692c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063287
mov ecx, eax
mov eax, dword [esp + 0x54]
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.10069b7b
test al, al
je 0x10068a8c
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x10068a8c
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, dword [esp + 0x34]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a86
jmp 0x1006692c
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x54]
jmp 0x10068ea4
test al, 0x30
jne 0x10068dfc
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10063197
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10062fc3
test al, al
je 0x10068b11
cmp esi, 2
je 0x10065c31
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063304
jmp 0x10068de8
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], esi
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10062fbf
mov ecx, eax
call fcn.10062f6a
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x10068c1a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10068bdf
cmp dword [esp + 0x34], esi
je 0x10068dc3
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10068c23
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x10068dc3
cmp dword [esp + 0x54], 0x17e
jne 0x10068db7
movzx eax, al
test al, 0x40
je 0x10068dc3
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10068dc3
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10069a6e
test al, al
jne 0x10068dc3
push ebx
lea ecx, [esp + 0x20]
call fcn.10063084
jmp 0x10068dc3
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.100631ba
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10068c0b
cmp dword [esp + 0x34], esi
je 0x10068c06
cmp dword [esp + 0x44], 0
jne 0x10068c0b
xor eax, eax
inc eax
jmp 0x10068c0d
xor al, al
cmp ecx, 5
jae 0x10068cf8
test al, al
jmp 0x10068c1d
cmp eax, 2
jne 0x10068cf8
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.1006305f
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
push 0
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x4c]
pop eax
adc eax, edx
and ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
cmp ecx, 0xffffffff
je 0x10068d15
mov ecx, dword [edi + 0x68]
call fcn.10062efc
test eax, eax
jne 0x10068d15
mov ecx, dword [edi + 0x68]
call fcn.10062eff
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x5c]
mov ecx, ebx
adc edi, dword [esp + 0x6c]
add esi, dword [esp + 0x48]
adc edi, dword [esp + 0x38]
add esi, 5
adc edi, 0
call fcn.10062de9
mov ecx, eax
call fcn.10062eca
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10069a32
pop ecx
pop ecx
test al, al
je 0x10068cda
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.10069a93
jmp 0x10063abe
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.100631a0
mov edi, dword [esp + 0x10]
test al, al
jne 0x10065c31
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x34], esi
je 0x10068dc3
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10068b83
push 0x2e
jmp 0x100691b2
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.1006a733
test eax, eax
jne 0x100637f0
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, dword [edi + 0x68]
call fcn.10062efc
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062ff2
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.10062f0b
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.1006305f
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062f30
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062eca
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10069b8a
jmp 0x1006692c
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10069b95
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push dword [esp + 0x24]
jmp 0x10068ea4
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, edi
call fcn.10062fc3
test al, al
jne 0x10069151
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
test byte [esp + 0x48], 0x10
mov esi, eax
je 0x10068ea3
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062f71
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100691b0
mov eax, dword [esp + 0x3c]
push 0xfffffffffffffffc
movzx eax, al
pop ecx
sub ecx, eax
lea eax, [edi + 0x68]
push dword [eax]
add esi, ecx
mov dword [esp + 0x48], eax
mov ecx, ebx
mov dword [esp + 0x38], esi
call fcn.10062f52
test al, al
je 0x10065206
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.1006305f
mov ecx, ebx
sub esi, eax
call fcn.10062f5f
add eax, esi
push eax
jmp 0x10068ea4
push esi
lea ecx, [esp + 0x20]
call fcn.10069a93
jmp 0x1006692c
test al, 0x40
jne 0x10068eca
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10068fc9
push 0x2c
jmp 0x100691b2
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
movsx edx, ax
mov eax, dword [esp + 0x48]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x34], edx
mov dword [esp + 0x5c], ecx
je 0x10068f8e
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 3
jne 0x10068f32
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.100631c3
test eax, eax
jne 0x10065c31
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov al, byte [esi + eax*8 + 0x1009d618]
jmp 0x10068f42
test al, 2
je 0x10068f3c
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009d120]
movzx ecx, al
cmp ecx, 0xff
je 0x10065c31
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10068f65
cmp esi, 6
jne 0x1006897c
mov ecx, edx
call fcn.10069b7b
lea ecx, [esp + 0x1c]
test al, al
je 0x10068f86
lea eax, [esi + 0x40]
push eax
call fcn.10069a86
push dword [esp + 0x34]
jmp 0x10068a07
lea eax, [esi + 0x80]
jmp 0x10068fa1
test al, 0x30
jne 0x10065c31
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10069a86
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10069baf
jmp 0x1006692c
mov eax, dword [esp + 0x48]
test al, 2
je 0x10063b18
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x100690b3
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x38], eax
call fcn.10063304
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.10062de9
mov ecx, eax
call fcn.100631c3
mov edx, esi
mov ecx, eax
call fcn.10063304
mov esi, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x44], ebx
pop ecx
test esi, esi
jne 0x10069042
cmp dword [esp + 0x18], 5
je 0x10069042
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a86
push ebx
jmp 0x10068a07
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063287
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10069b7b
test al, al
je 0x10069095
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x34]
shl eax, cl
cmp ebx, eax
jne 0x10069099
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10069a86
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x1006897c
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10069a86
push dword [esp + 0x40]
jmp 0x100689c9
test al, 0x30
jne 0x10069106
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push 5
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.100631c3
mov edx, esi
mov ecx, eax
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
jmp 0x10068ea0
mov ecx, edi
call fcn.10062fc3
test al, al
je 0x10065c31
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
push 5
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.100631c3
mov edx, esi
mov ecx, eax
call fcn.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10062f66
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.100699ef
test eax, eax
jne 0x1006938c
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062ee1
test byte [esp + 0x48], 0x10
mov dword [esp + 0x40], eax
je 0x100692e6
mov ecx, ebx
call fcn.10062de9
mov ecx, eax
call fcn.10062e23
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062f71
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x100691b8
push 0xc
pop ecx
jmp 0x1006938f
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a733
test eax, eax
jne 0x100637f0
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x44], eax
call fcn.10062efc
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062ff2
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.10062f0b
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
movzx eax, al
push eax
push dword [edi + 0x74]
mov dword [esp + 0x64], eax
call fcn.1006305f
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062f30
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, esi
call fcn.10062f4a
test al, al
je 0x10069276
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10062f5f
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10062f46
mov ecx, eax
call fcn.10062efc
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10068da7
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.1006305f
push ebx
push 0
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.10062f0b
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x38]
mov ecx, dword [ecx]
push esi
call fcn.10062efc
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.1006a356
mov esi, eax
test esi, esi
je 0x1006938c
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x100692d7
call fcn.10062efc
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10063068
jmp 0x1006692c
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a733
test eax, eax
jne 0x100637f0
mov ecx, dword [edi + 0x68]
call fcn.10062efc
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10062efc
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.10062f0b
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.1006305f
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062f30
mov ecx, edi
call fcn.10062ff2
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.10062f06
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x40]
cdq
push ebx
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
mov dword [ecx + 0x20], eax
adc edx, ebx
mov dword [ecx + 0x24], edx
jmp 0x10068da9
xor ecx, ecx
inc ecx
call fcn.10062de9
jmp 0x100637f0
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063927
mov ecx, dword [ebp + 0x14]
call fcn.10062e23
mov ecx, edi
mov esi, eax
call fcn.10062e23
mov edx, esi
mov ecx, eax
call fcn.100632e2
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062e23
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 0x10069486
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10069486
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x10069443
test byte [eax + 4], 0x70
jne 0x10069473
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x1006946b
shr edx, 2
test dl, 1
je 0x10069473
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10069480
shr edx, 3
test dl, 1
jne 0x1006947a
push 0x2a
jmp 0x10067383
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x100694a6
test ecx, esi
jne 0x100694ae
test dword [esp + 0x20], 0xc00
jne 0x100694a6
or esi, 0x10
test ecx, esi
je 0x10069541
mov eax, dword [esp + 0xc]
mov edx, esi
and edx, 0x8000
mov ecx, eax
and eax, dword [esp + 0x48]
shl edx, 4
or edx, esi
shr ecx, 1
and edx, 0xffff78ef
and ecx, 0x8300000
shl edx, 4
and esi, 0x100
or edx, esi
or ecx, eax
shl edx, 4
shr ecx, 4
or edx, ecx
lea ecx, [esp + 0x1c]
xor edx, 0x87cf062
push edx
call fcn.10069a93
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0xc]
mov byte [ecx], al
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
shl cl, 3
and edx, ebx
sub cl, 0x40
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
add cl, dl
mov byte [eax], cl
inc dword [esp + 0x1c]
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100633c2
jmp 0x10063ad7
mov eax, dword [esp + 0xc]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, dword [esp + 0x48]
and edx, 0x300000
or edx, ecx
mov ecx, esi
and ecx, 0x200000
shr edx, 1
or edx, ecx
mov ecx, dword [esp + 0x20]
and ecx, 0xfffffc00
shr edx, 0xb
shl ecx, 0x15
or edx, ecx
or esi, edx
test esi, 0x8000803e
je 0x100695bf
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d170]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10069a93
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 0x10069521
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069a86
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069a86
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069a86
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.10063304
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069a86
jmp 0x10069527
mov edi, eax
jmp 0x10063b18