Function at 0x10062a94
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 + 0x100a1450]
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 + 0x100a0670]
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 0x10062d5a
cmp dword [eax + 0x2c], 0
jne 0x10062b63
push 0
push 5
mov ecx, eax
jmp 0x10062c94
cmp dword [esp + 0x54], 0
je 0x10068aa9
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.1006248b
test eax, eax
jne 0x10062c7e
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x10062c2f
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 0x10062c82
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a1450]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a0670]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x10062d12
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 0x10062ca2
cmp dword [esp + 0x24], 0
jne 0x10062ca9
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.1006ecb9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10062d07
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x10062cc7
mov eax, dword [esp + 0x48]
shr eax, 0x11
test dl, al
jne 0x10062cc7
push 0x22
jmp 0x10062c7d
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x10062ce1
mov eax, dword [esp + 0x48]
shr eax, 0x12
test dl, al
jne 0x10062ce1
push 0x23
jmp 0x10062c7d
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 0x10062d0b
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x10062d5a
mov eax, dword [esp + 0x48]
shr eax, 0xe
test dl, al
je 0x10062dc0
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10062d42
shr eax, 8
test al, 0xf
jne 0x10062dc0
cmp dword [ecx + 0x4c], edx
jne 0x10062dc0
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 + 0x100a1456]
mov ecx, dword [eax*4 + 0x100a4a68]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a1455]
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.0x10062db9
mov edi, dword [esp + 0x40]
mov dword [esp + 0x48], 0x8000000
jmp dword [edi*4 + 0x10068ab0]
push 0x24
jmp 0x10062c7d
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 + 0x1009c0d8]
lea ecx, [esp + 0x20]
push eax
call fcn.10068f06
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 0x1006680f
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.100627e2
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 0x10062f50
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10062db9
lea ecx, [esp + 0xc]
call fcn.100626be
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10062db9.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.100622c7
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009c140]
call fcn.10062670
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068f33
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c0d8]
lea ecx, [esp + 0x20]
push eax
call fcn.10068f06
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x1006680f
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.100627e2
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.1006288c
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.1006252f
xor eax, eax
jmp 0x10062c99
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062db9.1
cmp esi, edx
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
test eax, eax
je case.0x10062db9.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10066815
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062db9.1
cmp esi, 9
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
cmp eax, 2
jne case.default.0x10062db9
mov ecx, ebx
jmp 0x10062f99
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062db9.1
cmp esi, 2
jne case.default.0x10062db9
xor edx, edx
mov ecx, edi
call fcn.10062748
test al, al
je case.default.0x10062db9
mov esi, edi
mov ecx, esi
call fcn.1006227b
mov ecx, eax
call fcn.10062338
mov ecx, esi
movzx ebx, byte [eax + 0x1009c140]
call fcn.1006227b
mov ecx, eax
call fcn.10062347
test al, al
jne case.default.0x10062db9
test bl, 2
jne case.default.0x10062db9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627c3
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100626c7
mov edi, eax
mov ecx, edi
call fcn.100627a1
test al, al
jne 0x1006680f
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10068f06
mov ecx, esi
call fcn.1006227b
mov ecx, eax
call fcn.1006264c
push eax
lea ecx, [esp + 0x20]
call fcn.1006283a
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062670
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068f33
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627e2
xor eax, eax
push eax
push eax
push eax
jmp 0x10065dca
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x100630d6
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10062db9.1
cmp esi, 0x19
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
mov ecx, ebx
jmp 0x100630b4
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x10062db9.11
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
xor edx, edx
inc edx
jmp case.0x10062db9.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b3530]
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.0x10062db9.63
mov ebx, edi
cmp esi, 2
je 0x1006317a
jmp case.default.0x10062db9
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x10062db9.14
push 2
pop edx
mov ecx, ebx
call fcn.100625f6
test al, al
je case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100625f6
test al, al
je case.default.0x10062db9
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.1006227e
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062719
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062338
mov ecx, ebx
movzx eax, byte [eax + 0x1009c140]
mov dword [esp + 0x48], eax
call fcn.1006227b
mov ecx, eax
call fcn.1006264c
push eax
lea ecx, [esp + 0x20]
call fcn.1006283a
lea ecx, [esp + 0x1c]
call fcn.1006238e
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10062670
test dword [esp + 0x48], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10068f33
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627c3
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062343
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.100626c7
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.100627a1
test al, al
jne 0x10066813
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068f06
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.100627e2
jmp 0x10067dac
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062db9
jmp 0x10063178
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062db9.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.100626ed
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x100632dc
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, edi
jmp 0x10064197
cmp esi, 2
jne 0x100632f7
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp 0x10063178
mov ecx, ebx
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
cmp esi, 9
je 0x100632d5
cmp esi, 0xa
jmp 0x10063296
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062338
mov ecx, edi
movzx ebx, byte [eax + 0x1009c140]
call fcn.1006227b
mov ecx, eax
call fcn.10062347
test al, al
jne case.default.0x10062db9
test bl, 2
jne case.default.0x10062db9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627c3
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100626c7
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.100627a1
test al, al
jne 0x1006680f
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068f06
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.1006227b
mov ecx, eax
call fcn.1006264c
push eax
lea ecx, [esp + 0x20]
call fcn.1006283a
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062670
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068f33
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627e2
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x100630a0
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x1006345e
push 2
pop edx
mov ecx, ebx
call fcn.100625f6
test al, al
je case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100625f6
test al, al
je case.default.0x10062db9
jmp 0x100632d5
cmp esi, edx
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006257d
jmp 0x10063451
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062db9
jmp 0x100632d5
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b3530]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100634ad
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x1006419c
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov dword [esp + 0x14], eax
jmp 0x1006317a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063516
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 2
jne 0x10063500
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp case.0x10062db9.63
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f6c
jmp case.0x10062db9.63
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 2
jne 0x10063546
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x1006317a
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f6c
jmp 0x1006317a
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b3530]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006358e
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10062db9.63
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov dword [esp + 0x14], eax
jmp 0x10063178
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100636ab
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne 0x10065cb1
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne 0x10063678
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10063633
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
push 4
pop ecx
jmp 0x10063641
mov edx, esi
call fcn.10062447
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063668
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
jmp 0x10063678
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10062447
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10068f00
test al, al
je case.0x10062db9.63
push 2
lea ecx, [esp + 0x10]
call fcn.100626a1
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.100391e9
jmp case.0x10062db9.63
cmp esi, 0x11
jne 0x1006372a
push 2
lea ecx, [esp + 0x10]
call fcn.100626a1
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne 0x1006317a
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063716
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x1006317a
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x14], 4
jmp 0x1006317a
cmp esi, 0xa
jne 0x1006379b
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, ebx
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne 0x10063178
mov ecx, ebx
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10063787
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x10063178
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x14], 4
jmp 0x10063178
push 0x80
lea ecx, [esp + 0x10]
call fcn.100626ed
cmp esi, 0x19
jne 0x100639c4
mov ecx, edi
call fcn.100622b0
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov ecx, dword [esp + 0x44]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x10063830
mov ecx, edi
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10063812
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x10063821
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x54], edx
mov byte [esp + 0x30], dl
jmp 0x10063932
push 4
pop eax
cmp ecx, 2
jne 0x1006384b
push 0x200000
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp 0x100638e2
cmp ecx, eax
jne 0x10063868
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068f82
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100638e2
cmp ecx, 8
jne 0x100638e5
cmp dword [esp + 0x54], 0x15
jne 0x1006388b
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068f88
mov byte [esp + 0x63], bl
pop ecx
pop ecx
test al, al
jne 0x10063890
mov byte [esp + 0x5b], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068ec4
pop ecx
pop ecx
test al, al
jne 0x100638b6
cmp byte [esp + 0x5b], al
jne 0x100638cb
push 0x32
pop ecx
call fcn.1006227b
jmp 0x10062c7e
cmp byte [esp + 0x5b], 0
je 0x100638d4
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10062477
test al, al
je 0x100638d4
push 4
pop eax
mov dword [esp + 0x44], eax
jmp 0x100638d8
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10068f6c
push 4
pop eax
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
call fcn.10068ef8
push dword [esp + 0x2c]
mov dword [esp + 0x58], eax
push dword [esp + 0x2c]
mov byte [esp + 0x38], al
call fcn.10068e9e
pop ecx
pop ecx
test al, al
je 0x1006392e
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
mov edx, dword [esp + 0x54]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10063823
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x18], 0
jne 0x1006399e
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x10063945
cmp dl, bl
je 0x100639a6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
jne 0x1006399e
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062703
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.1006270e
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x44]
call fcn.10068ef8
mov byte [esp + 0x30], al
jmp case.0x10062db9.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.100626a1
jmp case.0x10062db9.63
cmp esi, 0x1a
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065bc1
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.10068ef8
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp dword [esp + 0x34], ebx
jne 0x10063a2e
push dword [esp + 0x2c]
push esi
call fcn.10068f82
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068e9e
pop ecx
pop ecx
test al, al
je 0x10063a66
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
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 0x10063a69
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.100626a1
push dword [esp + 0x34]
jmp 0x100632e9
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
cmp eax, 1
je case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov edi, dword [esp + 0x10]
jmp 0x10065d51
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x10063afa
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, ebx
call fcn.100622b5
mov dword [esp + 0x14], eax
jmp 0x100632d5
cmp esi, 0xa
jne 0x10063b13
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp 0x10063597
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
lea ecx, [esp + 0xc]
call fcn.1006264c
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x100632d5
cmp esi, 0x1a
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
test eax, eax
je 0x10065bc1
jmp 0x10063178
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x100632d5
mov ebx, edi
cmp esi, 2
je 0x1006317a
push 0xe8
lea ecx, [esp + 0x10]
call fcn.100626ed
and dword [esp + 0x14], 0
jmp 0x100644c2
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x10063be4
mov ecx, dword [ebp + 0x14]
call fcn.100622cf
test al, al
je case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
and esi, 0x3f
cmp esi, 9
jne 0x10063ca3
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne 0x10065cb1
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne case.0x10062db9.63
mov ecx, edi
call fcn.1006254d
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10063c6b
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
jmp 0x10063c77
mov edx, esi
call fcn.10062447
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10065a1d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
jmp case.0x10062db9.63
cmp esi, 0xa
jne case.default.0x10062db9
jmp 0x1006372f
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10063293
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10062284
test al, al
je case.default.0x10062db9
lea ecx, [ebx + 0x10]
call fcn.10062284
jmp 0x10063170
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 0x10063d79
mov ecx, ebx
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 1
jne 0x10063d52
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063d3b
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10063d49
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10062db9.63
mov ecx, ebx
call fcn.100622b0
cmp eax, 2
jne 0x10063d69
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068f18
push 1
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp case.0x10062db9.63
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
test eax, eax
je 0x10065bc1
mov ecx, ebx
call fcn.100622b0
cmp eax, 2
jne 0x10063da8
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, ebx
call fcn.100622b0
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp 0x1006317a
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10068eeb
mov ecx, ebx
mov di, ax
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
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.0x10062db9.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10063eb6
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.10068e9e
pop ecx
pop ecx
test al, al
je 0x10063e81
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
je 0x10063ea4
push 2
lea ecx, [esp + 0x10]
call fcn.100626f8
mov ecx, edi
call fcn.100622b0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.100622b5
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10064197
cmp esi, 0xd1
jne 0x10063f74
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.100622b0
cmp eax, 4
jne 0x10063f21
push dword [esp + 0x2c]
push esi
call fcn.10068f82
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068e9e
pop ecx
pop ecx
test al, al
je 0x10063f48
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
je 0x100634b6
push 2
lea ecx, [esp + 0x10]
call fcn.100626f8
mov ecx, edi
call fcn.100622b0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100634b6
cmp esi, 9
jne 0x10063fdb
mov ecx, ebx
call fcn.100622b0
cmp eax, 1
je 0x100640e7
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne 0x10065cb1
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp case.0x10062db9.63
cmp esi, 0x11
jne 0x1006401f
mov ecx, ebx
call fcn.100622b0
cmp eax, 1
je 0x1006414c
mov ecx, edi
call fcn.100622b5
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp 0x1006317a
cmp esi, 0x19
jne case.0x10062db9.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.100622b0
cmp eax, 4
jne 0x10064080
push ebx
push esi
call fcn.10068f82
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068e9e
pop ecx
pop ecx
test al, al
je 0x100640a3
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
je 0x100640c6
push 2
lea ecx, [esp + 0x10]
call fcn.100626f8
mov ecx, edi
call fcn.100622b0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.100622b5
mov dword [esp + 0x18], eax
jmp 0x10063585
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x10062db9.12
cmp esi, 9
jne 0x10064147
xor edx, edx
mov ecx, edi
call fcn.100625dd
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.1006256d
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064133
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x10063c93
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x18], 4
jmp case.0x10062db9.63
cmp esi, 0x11
jne 0x10064166
xor edx, edx
mov ecx, edi
call fcn.100625dd
mov edi, dword [esp + 0x10]
test al, al
je 0x10062faa
jmp 0x1006317e
cmp esi, 0x49
jne 0x100641a5
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
mov dword [esp + 0x18], eax
jmp case.0x10062db9.63
cmp esi, 0x89
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ebx, dword [ebp + 0x14]
jmp 0x1006317a
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x1006421c
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 1
jne case.0x10062db9.63
mov ecx, edi
jmp 0x10064114
cmp esi, 2
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
test eax, eax
je 0x10065bc1
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
jmp 0x10063178
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x100642bb
mov ecx, edi
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.100622b0
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100627b7
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f9c
jmp case.0x10062db9.1
cmp esi, 9
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
cmp eax, 2
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100626a1
jmp 0x100642a5
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062db9
push 7
pop edx
mov ecx, edi
call fcn.10062748
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
cmp eax, 2
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov ebx, eax
test ebx, ebx
je 0x10065bc1
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.100626a1
push ebx
lea ecx, [esp + 0x10]
call fcn.10068f9c
jmp 0x10062ff0
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x1006421c
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 1
jne 0x10064388
mov eax, dword [edi]
jmp 0x10063d18
mov ecx, dword [esp + 0x10]
call fcn.10062455
test al, al
je 0x100643ac
mov ecx, dword [esp + 0x38]
call fcn.100627b7
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x1006429b
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
jmp case.0x10062db9.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062377
jmp 0x100630c4
push 0x40
mov edx, 0x80
pop ecx
call fcn.1006243d
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068f00
mov edi, dword [ebp + 0xc]
test al, al
je 0x10064431
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10062477
test al, al
je 0x10064431
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10068f00
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.10068f18
mov ebx, edi
jmp 0x10063bac
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062284
test al, al
je 0x10064431
xor edx, edx
mov ecx, edi
inc edx
call fcn.100622ee
test al, al
je case.default.0x10062db9
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10062455
test al, al
je 0x10064473
mov ecx, edi
call fcn.100622b0
cmp eax, 2
je 0x1006448a
mov ecx, esi
call fcn.1006245b
test al, al
je 0x1006448e
mov ecx, edi
call fcn.100622b0
cmp eax, 4
jne 0x1006448e
mov al, 1
jmp 0x10064490
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10068f33
jmp 0x10063bac
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x100632d5
mov ebx, edi
cmp esi, 2
je 0x1006317a
push 0xe9
jmp 0x10063ba3
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 0x10066813
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 + 0x100a4848]
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 0x100646b7
call fcn.1006227b
mov ecx, dword [edi + 0x2c]
push eax
call fcn.1006241c
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068642
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x48], esi
call fcn.100623e4
test al, al
je 0x100645f2
mov ecx, ebx
call fcn.100623f1
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.1006900d
test al, al
je 0x10064761
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x10064761
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
jne 0x10064761
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10062447
push ebx
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x10062f69
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x1006461c
cmp dword [esp + 0xc], 0
je 0x100646a0
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068f00
test al, al
jne 0x100646a0
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x44], esi
je 0x1006475a
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068f00
test al, al
jne 0x1006475a
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062719
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068f06
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068f18
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068f06
mov dword [esp + 0x34], 0xfffffffc
push 4
pop ebx
jmp 0x10068713
push ebx
lea ecx, [esp + 0x20]
call fcn.10068f18
or dword [esp + 0x34], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x10068713
call fcn.1006229b
test al, al
je 0x10062faa
mov ecx, edi
call fcn.10062451
mov ecx, eax
call fcn.100623fc
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x100647ef
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.10062463
mov cl, al
call fcn.10062380
test al, al
jne 0x10064592
push dword [esp + 0x40]
push esi
call fcn.10068ec4
pop ecx
pop ecx
test al, al
jne 0x10064592
mov ecx, dword [esp + 0x54]
call fcn.10062735
test al, al
jne 0x100647eb
push 0x30
jmp 0x10068644
cmp dword [esp + 0xc], 0
je 0x1006475a
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068f00
test al, al
jne 0x1006475a
push 0x10
pop ecx
call fcn.10062438
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.1006244c
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062719
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068f06
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068f18
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068f06
push esi
lea ecx, [esp + 0x20]
call fcn.10068f25
jmp 0x10062f69
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.10069bc5
test eax, eax
jne 0x10062c82
mov ecx, edi
call fcn.10062484
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.1006238e
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 0x10064924
mov ecx, edi
call fcn.10062463
mov cl, al
call fcn.10062386
test al, al
je 0x1006489a
mov ecx, dword [esp + 0x54]
call fcn.10062735
test al, al
je 0x1006489a
cmp dword [esp + 0x50], 0
jne 0x10064877
push 0x40
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x34]
call fcn.100696df
test eax, eax
jne 0x10062c82
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062719
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068f06
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068f18
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068f06
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.1006239d
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100624f1
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100623c2
push ebx
lea ecx, [esp + 0x20]
call fcn.1006901c
jmp 0x10062f69
push esi
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.1006239d
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100624f1
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100623c2
push ebx
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x10062f69
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x100649b9
mov ecx, edi
mov ebx, edi
call fcn.100622b0
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x1006498e
mov ecx, edi
call fcn.10062467
mov esi, eax
jmp 0x100649aa
sub esi, 2
cmp esi, 2
je 0x100649aa
cmp esi, 4
je 0x100649aa
mov ecx, edi
call fcn.10062467
cmp esi, eax
jne 0x100650c3
push esi
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp 0x1006317e
cmp esi, 0x1b
jne case.default.0x10062db9
mov ecx, dword [esp + 0x10]
call fcn.10062455
test al, al
je case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, ebx
mov esi, eax
call fcn.1006227b
mov ecx, esi
mov edi, eax
call fcn.10062377
test edx, edx
jg 0x100638a9
jl 0x10064a01
cmp eax, 0xffff
ja 0x100638a9
mov ecx, edi
call fcn.10062377
test edx, edx
jg 0x100638a9
jl 0x10064a1b
cmp eax, 0xffffffff
ja 0x100638a9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, esi
call fcn.10062377
mov ecx, edi
mov esi, eax
call fcn.10062377
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x10062db9.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp 0x100634b6
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064c7d
mov ecx, edi
call fcn.100622cf
mov ecx, edi
test al, al
je 0x10064c0f
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622cf
test al, al
je 0x10064b6d
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne case.default.0x10062db9
cmp esi, 1
jne 0x10064b50
mov ecx, edi
call fcn.1006254d
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10064b00
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
jmp 0x10064b0c
mov edx, esi
call fcn.10062447
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064b31
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
jmp 0x10064b3d
mov edx, esi
call fcn.10062447
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x10063678
push 0x89
lea ecx, [esp + 0x10]
call fcn.100626ed
push esi
lea ecx, [esp + 0x10]
call fcn.10068f42
jmp 0x10063678
mov ecx, ebx
call fcn.100625ad
test al, al
je 0x10064ba0
push 0x8c
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
dec dword [esp + 0x14]
jmp case.0x10062db9.63
mov ecx, ebx
call fcn.100625bd
test al, al
je 0x10064bed
push pe_nt_image_headers32
lea ecx, [esp + 0x10]
call fcn.100626ed
test byte [esp + 0x14], 8
je case.0x10062db9.63
mov ecx, dword [esp + 0x10]
call fcn.10062455
test al, al
je case.0x10062db9.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10068f18
and dword [esp + 0x14], 7
jmp case.0x10062db9.63
mov ecx, ebx
call fcn.100625cd
test al, al
je case.default.0x10062db9
push 0x121
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp case.0x10062db9.63
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622cf
test al, al
je case.default.0x10062db9
mov ecx, edi
call fcn.100625ad
test al, al
je 0x10064c52
push 0x8e
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, ebx
jmp 0x10064b88
mov ecx, edi
call fcn.100625bd
test al, al
je 0x10064c67
push 0x122
jmp 0x10064bb0
mov ecx, edi
call fcn.100625cd
test al, al
je case.default.0x10062db9
push 0x123
jmp 0x10064c01
cmp esi, 0x11
jne 0x10064d84
mov ecx, edi
call fcn.100622b5
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.100625ad
lea ecx, [esp + 0xc]
test al, al
je 0x10064cca
push 0x8e
call fcn.100626ed
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
dec dword [esp + 0x14]
jmp 0x1006317a
push 0
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
cmp dword [esp + 0x14], 0
jne 0x10064d36
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062310
test al, al
jne 0x10064d36
mov ecx, ebx
call fcn.1006227b
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.100622b0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100628e3
add esp, 0xc
test al, al
je 0x10064d36
push 0xa0
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp 0x10065136
mov ecx, edi
call fcn.100622b0
cmp eax, 1
jne 0x10064d7a
mov ecx, edi
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064d6b
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x10064d7a
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x14], 4
push 0x8a
jmp 0x10063db7
cmp esi, 0xa
jne 0x10064e8d
mov ecx, ebx
call fcn.100622b5
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.100625ad
lea ecx, [esp + 0xc]
test al, al
je 0x10064dd3
push 0x8c
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x1006317a
push 0
call fcn.100626ed
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
cmp dword [esp + 0x14], 0
jne 0x10064e36
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062310
test al, al
jne 0x10064e36
mov ecx, edi
call fcn.1006227b
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.100622b0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100628e3
add esp, 0xc
test al, al
je 0x10064e36
push 0xa2
jmp 0x10064d28
mov ecx, ebx
call fcn.100622b0
cmp eax, 1
jne 0x10064e7a
mov ecx, ebx
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064e6b
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x10064e7a
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp 0x10064dcc
cmp esi, 0x19
jne 0x10064fbf
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
mov byte [esp + 0x30], al
cmp al, 1
jne 0x10064f15
mov ecx, edi
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064ed9
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x10064ee8
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10063ac8
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10064f67
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
jne 0x10064f67
push ebx
push esi
call fcn.10068f88
pop ecx
pop ecx
test al, al
je 0x10064f87
mov ecx, dword [esp + 0x10]
push 1
call fcn.10062477
test al, al
je 0x10064f87
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.100626ed
push dword [esp + 0x30]
lea ecx, [esp + 0x10]
call fcn.10068fb2
jmp 0x10063ac8
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068ec4
pop ecx
pop ecx
test al, al
je 0x10064f67
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100626ed
and dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x10062db9.63
cmp esi, 0x1a
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065bc1
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.100626ed
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10068f42
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.10068ef8
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10063178
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x100650ca
mov ecx, edi
call fcn.100622b5
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.100622b9
test al, al
je case.default.0x10062db9
cmp dword [esp + 0x14], 0
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062310
test al, al
jne 0x100650bf
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062629
cmp eax, 2
jne 0x10065136
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x10068644
cmp esi, 0xa
jne 0x1006517c
mov ecx, ebx
call fcn.100622b5
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100626ed
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622b9
test al, al
je case.default.0x10062db9
cmp dword [esp + 0x14], 0
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062310
test al, al
jne 0x100650bf
mov ecx, esi
call fcn.1006227b
mov ecx, eax
call fcn.1006235c
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10062467
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x30], al
call fcn.1006227b
mov ecx, eax
call fcn.1006264c
push eax
lea ecx, [esp + 0x20]
call fcn.1006283a
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10062db9.1
cmp esi, 0x19
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.1006255d
test al, al
je case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100626ed
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.1006227b
mov ecx, eax
call fcn.10062377
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10068fc8
jmp 0x10063ac8
mov ecx, ebx
call fcn.100622b0
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100626a1
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
cmp esi, 9
jne 0x100634ad
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 1
jne case.0x10062db9.63
jmp 0x10063d16
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006255d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fd3
jmp 0x10063597
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, ebx
mov esi, eax
call fcn.1006227b
mov ecx, eax
call fcn.100622c7
mov ecx, esi
mov bl, al
call fcn.100622c7
cmp al, bl
jne case.default.0x10062db9
mov ecx, esi
call fcn.10062306
test al, al
jne case.default.0x10062db9
mov ecx, esi
call fcn.10062347
test al, al
jne case.default.0x10062db9
mov ecx, esi
call fcn.10062642
test al, al
je 0x100652d1
mov ecx, esi
call fcn.1006264c
cmp eax, 1
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x1006317a
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x1006533d
mov ecx, ebx
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100627b7
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.100626ed
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f9c
jmp 0x100630b2
cmp esi, 9
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
cmp eax, 2
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100626a1
mov ecx, ebx
jmp 0x100642a7
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
cmp eax, 2
jne case.default.0x10062db9
push 6
pop edx
mov ecx, ebx
call fcn.10062748
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
mov edi, eax
test edi, edi
je 0x10065bc1
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.100626a1
push edi
jmp 0x10064351
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065418
mov ecx, edi
call fcn.100625ad
test al, al
je 0x100654ae
mov ecx, edi
call fcn.100622b5
cmp eax, 7
jae 0x100654a7
push dword [eax*4 + 0x1009c120]
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp case.0x10062db9.1
cmp esi, 3
jne 0x100654f2
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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.10068e9e
pop ecx
pop ecx
test al, al
je 0x10065469
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
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 0x1006540a
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100654f2
mov ecx, edi
call fcn.100625ad
test al, al
je 0x100654ae
mov ecx, edi
call fcn.100622b5
cmp eax, 2
je 0x100654a7
cmp eax, 7
jae 0x100654a7
push dword [eax*4 + 0x1009c608]
jmp 0x1006540a
push 0x31
jmp 0x100638ab
mov ecx, edi
call fcn.100622b0
cmp eax, 2
jb case.default.0x10062db9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f9c
mov ecx, edi
call fcn.100622b5
mov dword [esp + 0x14], eax
jmp 0x10063ac8
cmp esi, 2
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
test eax, eax
je 0x10065bc1
mov ecx, edi
call fcn.100622b0
cmp eax, esi
je 0x1006552f
mov ecx, edi
call fcn.100622b0
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10062467
cmp esi, eax
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f9c
jmp 0x10063178
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x1006555b
push edx
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp case.0x10062db9.1
cmp esi, 3
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10065596
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
jne 0x10065596
push 1
jmp 0x1006554d
mov byte [esp + 0x30], 2
jmp case.0x10062db9.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10065681
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 1
jne 0x1006560e
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100655fc
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006560a
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x1006562a
mov ecx, ebx
call fcn.100622b5
cmp eax, 1
jne case.default.0x10062db9
push 2
jmp 0x100639b6
cmp esi, 0x19
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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 0x1006566d
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
je case.0x10062db9.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.100626f8
mov byte [esp + 0x30], bl
jmp case.0x10062db9.63
call fcn.100622b0
test eax, eax
je 0x10065bc1
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
cmp esi, 0xa
jne 0x100656c4
mov ecx, ebx
call fcn.100622b5
cmp eax, 1
jne case.default.0x10062db9
push 2
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp 0x10063178
cmp esi, 0x1a
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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 0x1006570d
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
je 0x10063178
push 0x10
lea ecx, [esp + 0x10]
call fcn.100626f8
mov al, bl
jmp 0x10065030
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063293
mov ecx, edi
call fcn.100622b5
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x1006574d
cmp eax, 4
jmp 0x10063d29
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x10063d40
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006579f
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, ebx
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062377
jmp 0x10062e9d
cmp esi, 0xca
jne 0x100657eb
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f42
mov ecx, ebx
call fcn.100622b5
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006317a
push edx
lea ecx, [esp + 0x10]
call fcn.100626a1
cmp esi, 0x49
jne 0x10065812
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
cmp eax, 1
jne case.default.0x10062db9
mov ecx, edi
jmp 0x10063adb
cmp esi, 0x4a
jne case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
cmp eax, 1
jne case.default.0x10062db9
mov ecx, ebx
jmp 0x10063aff
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, ebx
mov esi, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
test eax, eax
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
xor edx, edx
mov ecx, eax
call fcn.100622ee
test al, al
je case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov edi, eax
call fcn.100622a6
test al, al
je 0x10065892
mov ecx, ebx
call fcn.100622b0
cmp eax, edi
jne 0x10065cb1
push edi
lea ecx, [esp + 0x10]
call fcn.10068f57
jmp 0x10062ff0
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, edi
mov esi, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062373
test eax, eax
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006227b
xor edx, edx
mov ecx, eax
call fcn.100622ee
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
mov ecx, edi
mov ebx, eax
call fcn.100622a6
test al, al
je 0x10065900
mov ecx, edi
call fcn.100622b0
cmp eax, ebx
jne 0x10065cb1
push ebx
jmp 0x10065893
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006227b
mov ecx, eax
call fcn.10062338
mov ecx, ebx
mov esi, eax
call fcn.1006227b
mov ecx, eax
call fcn.10062338
cmp esi, eax
jne case.default.0x10062db9
mov ecx, edi
mov esi, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062347
test al, al
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
mov ebx, eax
test ebx, ebx
je 0x10065bc1
jmp 0x100658f1
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065a2e
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
jne 0x10065cb1
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne case.0x10062db9.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x100659f0
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062447
push 4
pop ecx
jmp 0x100659fe
mov edx, esi
call fcn.10062447
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065a19
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x10063c8f
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10062447
add dword [esp + 0x14], 4
jmp case.0x10062db9.63
cmp esi, 0xa
jne 0x10065a7a
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, ebx
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne 0x10063178
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063787
jmp 0x1006376a
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
lea ecx, [esp + 0xc]
call fcn.1006264c
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10065bad
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100622b0
cmp eax, 1
jne 0x10065b22
mov ecx, edi
call fcn.1006254d
lea ecx, [esp + 0x20]
test al, al
jne 0x10065af2
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062447
jmp 0x10065b01
mov edx, Ordinal_2
call fcn.10062447
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10065b5c
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.100622b0
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068ef8
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x10062db9.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
jne case.0x10062db9.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, edi
call fcn.100622b0
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp case.0x10062db9.1
cmp esi, 0x1a
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
test eax, eax
jne 0x10065bc8
push 0x34
jmp 0x10062c7d
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.100622b0
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
jmp 0x10065027
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10062db9.61
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f57
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
cmp eax, 1
jne 0x1006317a
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065c64
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10065c72
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x1006317a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065dde
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
cmp esi, eax
je 0x10065cb8
push 0x35
jmp 0x10062c7d
cmp esi, 1
je 0x100659bb
cmp dword [esp + 0x54], 0x668
jne 0x10065dd8
cmp dword [esp + 0x14], 0
je 0x10065ce1
cmp dword [esp + 0x18], 0
jne 0x10065dd8
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.1006245b
test al, al
je 0x10065d0f
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x10065d0f
cmp esi, 4
jb 0x10065d0f
cmp esi, 8
jne 0x10065dd8
push 0x8000000
jmp 0x10065d3a
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068f00
test al, al
jne 0x10065dd8
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10068f57
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062703
push 0x90
lea ecx, [esp + 0x10]
call fcn.1006270e
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627c3
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100626c7
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.100627a1
test al, al
jne 0x10066813
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068f06
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.100626a1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100627e2
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.1006288c
jmp 0x10062f69
push esi
jmp 0x100643b4
cmp esi, 0xa
jne case.default.0x10062db9
jmp 0x10065a33
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065e38
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068f00
test al, al
je case.0x10062db9.63
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x10063699
cmp esi, 0x11
je 0x100634b6
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x10063597
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065f07
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x10065f5a
test edx, edx
jne case.default.0x10062db9
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10062719
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c0d8]
lea ecx, [esp + 0x20]
push eax
call fcn.10068f06
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.0x10062db9.0
cmp esi, 2
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.100626ed
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10062703
jmp 0x10063178
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x10065f56
cmp esi, edx
jne 0x10065f07
mov ecx, edi
call fcn.100622b5
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.0x10062db9.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x1006600e
mov ecx, edi
mov ebx, edi
call fcn.100622b0
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x10065fa6
push 0x1000
mov ecx, esi
call fcn.1006267d
test al, al
jne 0x1006317a
mov ecx, edi
call fcn.100622b0
cmp eax, 8
jne 0x10065fc9
push 0x2000
mov ecx, esi
call fcn.1006267d
test al, al
je 0x10065fc9
push 4
jmp 0x10063db7
mov ecx, edi
call fcn.100622b0
cmp eax, 0xa
jne case.default.0x10062db9
push 0x800
mov ecx, esi
call fcn.1006267d
test al, al
je case.default.0x10062db9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
lea ecx, [esp + 0xc]
call fcn.1006264c
jmp 0x100634bd
cmp esi, edx
jne case.default.0x10062db9
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10066032
mov ecx, edi
call fcn.100622b5
add eax, 0x364c0
jmp 0x10065eb6
cmp eax, 0xec
jne 0x1006604a
mov ecx, edi
call fcn.100622b5
add eax, 0x374d0
jmp 0x10065eb6
cmp eax, 0xef
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
add eax, 0x374d8
jmp 0x10065eb6
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062db9
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, edi
mov ebx, edi
call fcn.100622b0
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x100660a6
push 0x800
mov ecx, esi
call fcn.1006267d
test al, al
jne 0x10065fc2
mov ecx, edi
call fcn.100622b0
cmp eax, 4
jne 0x100660c6
push 0x1000
mov ecx, esi
call fcn.1006267d
test al, al
jne 0x1006317a
mov ecx, edi
call fcn.100622b0
cmp eax, 8
jne case.default.0x10062db9
push 0x2000
mov ecx, esi
call fcn.1006267d
test al, al
je case.default.0x10062db9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
and eax, 0xffff1fff
jmp 0x10065ff6
test esi, esi
jne case.0x10062db9.70
push edx
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp case.0x10062db9.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
push eax
jmp 0x10066102
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066149
mov ecx, edi
call fcn.100622b5
test eax, eax
jne case.default.0x10062db9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
jmp 0x10065eb6
cmp esi, 2
jne case.default.0x10062db9
jmp 0x10065f2f
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066197
mov ecx, ebx
call fcn.1006258d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fe2
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10063ea4
cmp esi, 0xca
jne case.default.0x10062db9
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, ebx
call fcn.1006258d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fe2
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10063597
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006622e
mov ecx, ebx
call fcn.1006258d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fe2
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10063aea
cmp esi, 0xca
jne case.default.0x10062db9
jmp 0x100661b4
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066288
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068f00
test al, al
je case.0x10062db9.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x10062db9.63
mov ecx, eax
jmp 0x10065e24
cmp esi, 0x11
je 0x100634b6
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x1006358e
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x100662c4
mov ecx, edi
call fcn.100622b0
cmp eax, 1
je case.default.0x10062db9
jmp 0x10064a5e
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
cmp eax, 1
je case.default.0x10062db9
jmp 0x1006582c
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100663a2
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006259d
test al, al
je 0x10066356
mov ecx, ebx
call fcn.1006259d
test al, al
je 0x10066356
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068f00
test al, al
je case.0x10062db9.63
push 0x10
jmp 0x10063690
mov ecx, edi
call fcn.1006258d
test al, al
je 0x10066422
mov ecx, ebx
call fcn.1006258d
test al, al
je 0x10066422
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068f00
test al, al
je case.0x10062db9.63
push 0x2001d6
jmp 0x10065e2a
cmp esi, 0x11
jne 0x100663e2
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006259d
test al, al
je 0x100663d0
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x1006317a
mov ecx, edi
call fcn.1006258d
test al, al
je 0x10066422
push 0x40017e
jmp 0x100663c2
cmp esi, 0xa
jne 0x10066422
mov ecx, ebx
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006259d
test al, al
je 0x10066410
push 0x17f
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x10063178
mov ecx, ebx
call fcn.1006258d
test al, al
je 0x10066422
push 0x2001d6
jmp 0x10066402
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x4c], eax
call fcn.1006270e
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 0x1006646e
mov ecx, ebx
call fcn.100622cf
test al, al
je 0x10066477
jmp 0x10063eaf
cmp esi, 0x11
je 0x1006317a
push dword [esp + 0x48]
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
mov ecx, ebx
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006258d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fe2
cmp esi, 9
jne 0x10063318
mov ecx, edi
call fcn.100622cf
jmp 0x10063451
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100664e4
xor edx, edx
mov ecx, eax
call fcn.10062610
test al, al
je case.default.0x10062db9
and esi, 0x3f
jmp case.0x10062db9.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100664e4
push 7
pop edx
mov ecx, eax
call fcn.10062748
jmp 0x100664dc
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10066517
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 0x1006349e
cmp esi, 0x11
jne case.default.0x10062db9
mov eax, dword [edi + 4]
jmp 0x100634bd
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006658e
mov ecx, edi
call fcn.1006258d
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.1006258d
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068ff1
mov ecx, edi
call fcn.100622b5
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10064197
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006258d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fe2
jmp 0x100634b6
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10063ea4
cmp esi, 0x11
je 0x100634b6
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
lea ecx, [esp + 0xc]
call fcn.1006264c
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10062db9
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100632d5
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10066558
cmp esi, 0x11
je 0x10066597
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
lea ecx, [esp + 0xc]
call fcn.1006264c
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10062db9
mov ecx, edi
call fcn.1006258d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fe2
jmp 0x100665ec
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 0x10063ea4
cmp esi, 0xd1
jmp 0x100634b0
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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 0x10066558
cmp esi, 0xd1
jmp 0x10066591
mov ecx, dword [ebp + 0xc]
call fcn.100622b5
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10062db9.63
cmp esi, 0xd9
jne case.default.0x10062db9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.1006264c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
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.0x10062db9.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.0x10062db9.63
cmp ecx, 0x6c9
jne case.default.0x10062db9
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, dword [ebp + 0x18]
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
mov ecx, dword [ebp + 0x14]
jmp 0x10066738
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 0x10063eaf
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10062faa
jmp 0x1006317e
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x10062c82
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 0x1006686c
push 0x18
lea ecx, [esp + 0x10]
call fcn.10062722
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10068f25
jmp case.0x10062db9.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068f18
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068f18
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp case.0x10062db9.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066931
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100622cf
test al, al
je 0x100668e7
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp case.0x10062db9.93
mov ecx, edi
call fcn.100622cf
test al, al
je 0x100668fe
mov ecx, dword [esp + 0x38]
call fcn.100627b7
inc eax
jmp 0x100668d8
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068f00
test al, al
je case.0x10062db9.93
push 1
lea ecx, [esp + 0x10]
call fcn.100626a1
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.100391e9
jmp case.0x10062db9.93
cmp esi, 0x11
jne 0x10066942
mov ecx, edi
call fcn.100622b5
jmp 0x10067997
cmp esi, 0xa
jne case.default.0x10062db9
push edx
lea ecx, [esp + 0x10]
call fcn.100626a1
jmp 0x1006798e
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006227b
mov ecx, eax
call fcn.1006255d
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068fd3
jmp case.0x10062db9.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062db9
mov ebx, edi
jmp 0x1006799b
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 + 0x1009c548]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10067425
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b0
mov ecx, eax
call fcn.1006278b
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.1006277b
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068ef0
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp 0x1006798e
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x10062db9.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062377
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x30], 1
jmp case.0x10062db9.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 + 0x1009c548]
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 0x10066ab5
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x1006885c
cmp esi, 0xca
jmp 0x10067988
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10066ada
push 7
pop edx
mov ecx, eax
call fcn.10062748
test al, al
je case.default.0x10062db9
and esi, 0x3f
jmp case.0x10062db9.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.0x10062db9.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10066b33
mov ecx, ebx
call fcn.100622b0
mov ecx, eax
call fcn.1006278b
push eax
jmp 0x10066b48
mov ecx, edi
call fcn.100622b0
cmp eax, 0x20
jne case.0x10062db9.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp case.0x10062db9.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x10062db9.106
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622cf
test al, al
je case.0x10062db9.106
mov ecx, edi
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
or esi, eax
mov ecx, esi
call fcn.1006278b
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.100627b7
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.100626ed
mov ecx, edi
call fcn.100622b5
jmp 0x10068851
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 + 0x1009c548]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066bdb
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x1006885c
cmp esi, 0x11
jne case.default.0x10062db9
mov eax, dword [edi + 4]
jmp 0x10067997
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov ecx, eax
call fcn.1006278b
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.1006277b
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068ef0
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp 0x10066936
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.100622de
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.100622de
test al, al
je case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
call fcn.100622de
test al, al
je case.default.0x10062db9
mov ecx, dword [ebp + 0x18]
call fcn.100622de
test al, al
je case.default.0x10062db9
mov ecx, dword [esp + 0x34]
call fcn.100622de
test al, al
je case.default.0x10062db9
mov ecx, esi
call fcn.10062291
test al, al
je case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.100622b5
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.100622b5
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.100622b5
mov edx, eax
test bl, 3
jne 0x10066d02
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10066d02
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10066d02
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10066d02
mov ecx, edi
call fcn.100622b5
mov edx, ebx
mov ecx, eax
call fcn.10062774
mov ebx, dword [esp + 0x24]
jmp 0x10067997
push 0x3c
jmp 0x100638ab
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.0x10062db9.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 + 0x1009c548]
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 0x10066bcc
cmp esi, 0xd1
jne case.default.0x10062db9
jmp 0x10066936
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10062db9.115
push 2
pop edx
mov ecx, eax
call fcn.100622ee
test al, al
je case.default.0x10062db9
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 0x10066e1e
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 + 0x1009c548]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066f26
cmp esi, 0x89
jne case.default.0x10062db9
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10067997
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
test al, 1
jne 0x10066ecf
mov ecx, edi
call fcn.100622b5
mov ecx, ebx
lea esi, [eax + 1]
call fcn.100622b5
cmp esi, eax
jne 0x10066ecf
mov ecx, dword [ebp + 0x14]
call fcn.100622b0
mov ecx, eax
call fcn.1006278b
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062284
mov ecx, ebx
test al, al
jne 0x10068857
call fcn.10062291
test al, al
je case.default.0x10062db9
jmp 0x1006799b
push 0x1d
jmp 0x100638ab
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 + 0x1009c548]
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 0x10066f3e
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 0x1006885c
cmp ecx, 0x289
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ebx, dword [ebp + 0x14]
jmp 0x10067997
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.0x10062db9.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 + 0x1009c548]
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 0x10066f26
cmp eax, 0x689
jmp 0x10066f44
mov ecx, dword [ebp + 0xc]
call fcn.1006255d
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.1006255d
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068fff
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10068837
cmp esi, 0x51
jne case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
jmp 0x10067997
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10062db9.128
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x10066bf8
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b0
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.100622b0
or esi, eax
mov ecx, esi
call fcn.1006278b
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.1006277b
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068ef0
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp 0x10067050
mov ecx, dword [ebp + 0x18]
call fcn.1006227e
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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 0x10068837
cmp eax, 0x651
jmp 0x1006704a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100671c9
mov ecx, edi
call fcn.100622cf
test al, al
je 0x10067175
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
mov ecx, edi
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f6c
mov ecx, ebx
call fcn.100622b5
mov ecx, edi
jmp 0x10068853
mov ecx, ebx
call fcn.100622cf
test al, al
je 0x10067196
mov ecx, ebx
call fcn.100622b0
push eax
lea ecx, [esp + 0x10]
call fcn.10068f6c
jmp 0x10066b9d
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062719
test eax, eax
je 0x100671fc
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062703
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp 0x10066b9d
cmp esi, 0x11
jne 0x10067200
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062719
test eax, eax
je 0x10066936
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062703
push 0x40017e
jmp 0x10066c23
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
cmp esi, 0xa
jne case.default.0x10062db9
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062719
test eax, eax
je 0x1006798e
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062703
push 0x2001d6
jmp 0x100669fe
mov ecx, dword [ebp + 0xc]
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
or esi, eax
mov ecx, esi
call fcn.1006278b
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10066b9d
cmp esi, 0x11
je 0x10066936
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
jmp 0x10067985
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x1006731c
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068f00
test al, al
je case.0x10062db9.93
lea ecx, [esp + 0xc]
call fcn.100626ac
mov ecx, ebx
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ecx, dword [ebp + 0x14]
jmp 0x10068853
cmp esi, 0x51
je 0x10067050
cmp esi, 0x89
jne case.default.0x10062db9
lea ecx, [esp + 0xc]
call fcn.100626ac
jmp 0x10066f4a
mov ecx, dword [ebp + 0xc]
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
or esi, eax
mov ecx, esi
call fcn.1006278b
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100672fb
cmp esi, 0x89
je 0x10066f4a
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
mov ecx, dword [ebp + 0x14]
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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 0x10066d88
jmp 0x10066b9d
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100672b3
cmp esi, 0x51
je 0x10067050
cmp esi, 0x89
je 0x10067331
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x10067396
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100672fb
cmp esi, 0x89
je 0x10066f4a
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
cmp esi, 9
je 0x10067167
jmp 0x10067985
mov ecx, dword [ebp + 0xc]
call fcn.100622b0
mov ecx, ebx
mov esi, eax
call fcn.100622b0
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009c548]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066f26
cmp esi, 0x89
je 0x10066f4a
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
cmp esi, 0x4a
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
jmp 0x10067995
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 + 0x1009c548]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066f26
cmp esi, 0x89
je 0x10066f4a
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10062703
mov ecx, dword [esp + 0x38]
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
lea ecx, [esp + 0xc]
call fcn.1006264c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062377
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 0x1006756d
mov ecx, edi
call fcn.100622b5
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x1006884c
cmp esi, 0xd1
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067065
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 0x100675d4
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10066bd3
cmp esi, 0x11
jmp 0x10067573
cmp esi, 0xd1
jne case.0x10062db9.146
lea ecx, [esp + 0xc]
call fcn.100626b5
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 + 0x1009c548]
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 0x1006764f
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10067639
mov ecx, ebx
call fcn.100622b0
cmp eax, 8
je 0x10067639
xor eax, eax
jmp 0x1006763d
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 0x100675c5
cmp esi, 0xd1
jne case.default.0x10062db9
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x1006799b
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.100622b0
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009c548]
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 0x100676e1
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 0x10066a4e
cmp eax, 0x449
jne 0x10067734
lea ecx, [esp + 0xc]
call fcn.100626ac
mov ecx, ebx
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100622b5
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 0x1006799b
cmp eax, 0x289
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10067710
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.0x10062db9
call fcn.1006227e
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.100622b0
mov ecx, edi
mov esi, eax
call fcn.100622b0
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.100622b0
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.100622b0
or eax, esi
mov ecx, eax
call fcn.1006278b
push eax
lea ecx, [esp + 0x10]
call fcn.1006270e
mov ecx, dword [esp + 0x50]
call fcn.1006227b
mov ecx, eax
call fcn.10068ee7
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 0x10067837
mov ecx, ebx
call fcn.100622b5
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b5
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.100622b5
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10062db9.93
cmp eax, 0x449
jne 0x1006787b
lea ecx, [esp + 0xc]
call fcn.100626ac
mov ecx, ebx
call fcn.100622b5
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100622b5
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x1006799b
cmp eax, 0x289
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10067866
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066f26
cmp esi, 0x11
je 0x10066936
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, eax
call fcn.100627b7
push eax
lea ecx, [esp + 0x10]
call fcn.100626ed
jmp 0x1006798e
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 + 0x1009c548]
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 0x100676e1
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 0x1006794f
lea ecx, [esp + 0xc]
call fcn.100626ac
mov ecx, dword [ebp + 0x18]
call fcn.100622b5
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100622b5
jmp 0x100676d4
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
mov ecx, dword [ebp + 0x18]
jmp 0x10067941
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062db9
mov ecx, edi
call fcn.100622b5
mov dword [esp + 0x14], eax
jmp case.0x10062db9.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x10066d8e
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062db9
mov ecx, ebx
call fcn.100622b5
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.1006227e
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062338
mov ecx, ebx
movzx eax, byte [eax + 0x1009c140]
mov dword [esp + 0x48], eax
call fcn.1006227b
mov ecx, eax
call fcn.1006264c
push eax
lea ecx, [esp + 0x20]
call fcn.1006283a
lea ecx, [esp + 0x1c]
call fcn.1006238e
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10062670
test dword [esp + 0x48], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068f33
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.1006231a
test al, al
je 0x10067a23
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062328
test al, al
je 0x10067a49
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062343
mov dword [esp + 0x24], eax
jmp 0x10067a4e
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.1006265d
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.100622b5
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.100626d7
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x38], eax
call fcn.1006238e
mov ecx, eax
call fcn.10062438
mov edx, 0x400000
mov ecx, eax
call fcn.10062674
mov esi, dword [esp + 0x38]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x38], esi
call fcn.1006243d
mov edx, 0x80000
mov ecx, eax
call fcn.1006243d
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10068f00
test al, al
je 0x10067b41
mov edx, 0x80000
mov ecx, 0x40000
call fcn.1006243d
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068f00
test al, al
jne 0x10068905
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10062442
or esi, eax
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
call fcn.10062691
test al, al
je 0x10067b7b
test esi, 0x80df8110
jne 0x10067b87
mov edx, 0x400
mov ecx, 0x800
call fcn.1006243d
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068f00
test al, al
jne 0x10067b7b
or esi, 0x10
mov dword [esp + 0x38], esi
test esi, 0x80df8110
je 0x10067cdf
push 4
lea ecx, [esp + 0x10]
call fcn.1006272a
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.1006272a
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x34], eax
test eax, 0x10000000
je 0x10067c90
mov ecx, dword [esp + 0x44]
call fcn.10062697
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.1006227b
mov ecx, eax
call fcn.10062667
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x10067c89
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.10069051
lea edx, [esp + 0x50]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
call fcn.10068ef0
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x38], eax
cmp eax, 0x40000000
ja 0x10067c89
lea edx, [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.10068ef0
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10062703
mov ecx, dword [esp + 0x5c]
call fcn.10069051
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.1006270e
jmp 0x10067cd0
push 0x29
jmp 0x10068644
push 0x19
lea ecx, [esp + 0x10]
call fcn.1006272a
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.1006272a
mov ecx, dword [esp + 0x34]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009c010]
lea ecx, [esp + 0x10]
call fcn.100626a1
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0x20]
call fcn.10068f25
jmp 0x10067d89
push 0xd
lea ecx, [esp + 0x10]
call fcn.1006272a
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.1006272a
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.100627ab
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10062703
test esi, 0x8000807e
je 0x10067d65
push 0x18
lea ecx, [esp + 0x10]
call fcn.10062722
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c0e0]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10068f25
jmp 0x10067d96
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068f18
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068f18
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.1006267d
test al, al
jne 0x1006844b
mov eax, dword [esp + 0x48]
test al, 0x42
jne 0x10068344
test al, 1
je 0x10067f4f
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10062796
pop ecx
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.10062689
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x10067e6a
test al, al
jne 0x10067e6a
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x10067e14
test ebx, ebx
jne 0x10067e14
push esi
jmp 0x10067e99
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062719
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.1006900d
test al, al
je 0x10067e54
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067e54
lea eax, [esi + 0x40]
jmp 0x10067efe
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push ebx
jmp 0x10068336
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x10067ea7
cmp dword [esp + 0x54], 0
jne 0x10067ea7
push esi
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x10065dbe
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062719
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.1006900d
test al, al
je 0x10067f1e
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x10067f1e
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, dword [esp + 0x34]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10068f18
jmp 0x10065dbe
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x54]
jmp 0x10068336
test al, 0x30
jne 0x1006828e
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062629
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.1006227b
mov ecx, eax
call fcn.10062373
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10062455
test al, al
je 0x10067fa3
cmp esi, 2
je 0x100650c3
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062796
jmp 0x1006827a
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], esi
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10062451
mov ecx, eax
call fcn.100623fc
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x100680ac
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10068071
cmp dword [esp + 0x34], esi
je 0x10068255
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100680b5
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x10068255
cmp dword [esp + 0x54], 0x17e
jne 0x10068249
movzx eax, al
test al, 0x40
je 0x10068255
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10068255
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10068f00
test al, al
jne 0x10068255
push ebx
lea ecx, [esp + 0x20]
call fcn.10062516
jmp 0x10068255
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.1006264c
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x1006809d
cmp dword [esp + 0x34], esi
je 0x10068098
cmp dword [esp + 0x44], 0
jne 0x1006809d
xor eax, eax
inc eax
jmp 0x1006809f
xor al, al
cmp ecx, 5
jae 0x1006818a
test al, al
jmp 0x100680af
cmp eax, 2
jne 0x1006818a
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.100624f1
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 0x100681a7
mov ecx, dword [edi + 0x68]
call fcn.1006238e
test eax, eax
jne 0x100681a7
mov ecx, dword [edi + 0x68]
call fcn.10062391
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.1006227b
mov ecx, eax
call fcn.1006235c
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10068ec4
pop ecx
pop ecx
test al, al
je 0x1006816c
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.10068f25
jmp 0x10062f50
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062632
mov edi, dword [esp + 0x10]
test al, al
jne 0x100650c3
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x34], esi
je 0x10068255
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10068015
push 0x2e
jmp 0x10068644
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.10069bc5
test eax, eax
jne 0x10062c82
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, dword [edi + 0x68]
call fcn.1006238e
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062484
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.1006239d
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100624f1
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100623c2
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.1006235c
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.1006901c
jmp 0x10065dbe
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10069027
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push dword [esp + 0x24]
jmp 0x10068336
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, edi
call fcn.10062455
test al, al
jne 0x100685e3
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
test byte [esp + 0x48], 0x10
mov esi, eax
je 0x10068335
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062403
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068642
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.100623e4
test al, al
je 0x10064698
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100624f1
mov ecx, ebx
sub esi, eax
call fcn.100623f1
add eax, esi
push eax
jmp 0x10068336
push esi
lea ecx, [esp + 0x20]
call fcn.10068f25
jmp 0x10065dbe
test al, 0x40
jne 0x1006835c
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x1006845b
push 0x2c
jmp 0x10068644
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
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 0x10068420
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 0x100683c4
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062655
test eax, eax
jne 0x100650c3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov al, byte [esi + eax*8 + 0x1009c588]
jmp 0x100683d4
test al, 2
je 0x100683ce
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009c090]
movzx ecx, al
cmp ecx, 0xff
je 0x100650c3
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x100683f7
cmp esi, 6
jne 0x10067e0e
mov ecx, edx
call fcn.1006900d
lea ecx, [esp + 0x1c]
test al, al
je 0x10068418
lea eax, [esi + 0x40]
push eax
call fcn.10068f18
push dword [esp + 0x34]
jmp 0x10067e99
lea eax, [esi + 0x80]
jmp 0x10068433
test al, 0x30
jne 0x100650c3
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10068f18
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10069041
jmp 0x10065dbe
mov eax, dword [esp + 0x48]
test al, 2
je 0x10062faa
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x10068545
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x38], eax
call fcn.10062796
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.1006227b
mov ecx, eax
call fcn.10062655
mov edx, esi
mov ecx, eax
call fcn.10062796
mov esi, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x44], ebx
pop ecx
test esi, esi
jne 0x100684d4
cmp dword [esp + 0x18], 5
je 0x100684d4
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
push eax
call fcn.10068f18
push ebx
jmp 0x10067e99
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062719
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.1006900d
test al, al
je 0x10068527
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x34]
shl eax, cl
cmp ebx, eax
jne 0x1006852b
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10068f18
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x10067e0e
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10068f18
push dword [esp + 0x40]
jmp 0x10067e5b
test al, 0x30
jne 0x10068598
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push 5
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062655
mov edx, esi
mov ecx, eax
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
jmp 0x10068332
mov ecx, edi
call fcn.10062455
test al, al
je 0x100650c3
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
push 5
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062655
mov edx, esi
mov ecx, eax
call fcn.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
mov ecx, dword [edi + 0x2c]
push 1
call fcn.100623f8
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10068e81
test eax, eax
jne 0x1006881e
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.10062373
test byte [esp + 0x48], 0x10
mov dword [esp + 0x40], eax
je 0x10068778
mov ecx, ebx
call fcn.1006227b
mov ecx, eax
call fcn.100622b5
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062403
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x1006864a
push 0xc
pop ecx
jmp 0x10068821
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069bc5
test eax, eax
jne 0x10062c82
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x44], eax
call fcn.1006238e
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062484
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.1006239d
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.100624f1
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100623c2
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.100623dc
test al, al
je 0x10068708
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.100623f1
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.100623d8
mov ecx, eax
call fcn.1006238e
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10068239
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100624f1
push ebx
push 0
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.1006239d
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x38]
mov ecx, dword [ecx]
push esi
call fcn.1006238e
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.100697e8
mov esi, eax
test esi, esi
je 0x1006881e
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10068769
call fcn.1006238e
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.100624fa
jmp 0x10065dbe
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069bc5
test eax, eax
jne 0x10062c82
mov ecx, dword [edi + 0x68]
call fcn.1006238e
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.1006238e
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.1006239d
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.100624f1
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.100623c2
mov ecx, edi
call fcn.10062484
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.10062398
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 0x1006823b
xor ecx, ecx
inc ecx
call fcn.1006227b
jmp 0x10062c82
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10062db9
mov ecx, dword [ebp + 0x14]
call fcn.100622b5
mov ecx, edi
mov esi, eax
call fcn.100622b5
mov edx, esi
mov ecx, eax
call fcn.10062774
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100622b5
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 0x10068918
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10068918
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x100688d5
test byte [eax + 4], 0x70
jne 0x10068905
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x100688fd
shr edx, 2
test dl, 1
je 0x10068905
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10068912
shr edx, 3
test dl, 1
jne 0x1006890c
push 0x2a
jmp 0x10066815
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x10068938
test ecx, esi
jne 0x10068940
test dword [esp + 0x20], 0xc00
jne 0x10068938
or esi, 0x10
test ecx, esi
je 0x100689d3
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.10068f25
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.10062854
jmp 0x10062f69
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 0x10068a51
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c0e0]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10068f25
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 0x100689b3
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068f18
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068f18
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068f18
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.10062796
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068f18
jmp 0x100689b9
mov edi, eax
jmp 0x10062faa