Function at 0x100626a2
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 + 0x100a1620]
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 + 0x100a0620]
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 0x10062968
cmp dword [eax + 0x2c], 0
jne 0x10062771
push 0
push 5
mov ecx, eax
jmp 0x100628a2
cmp dword [esp + 0x54], 0
je 0x100686b7
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10062099
test eax, eax
jne 0x1006288c
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x1006283d
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 0x10062890
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a1620]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a0620]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x10062920
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 0x100628b0
cmp dword [esp + 0x24], 0
jne 0x100628b7
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.1006e8c5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10062915
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x100628d5
mov eax, dword [esp + 0x48]
shr eax, 0x11
test dl, al
jne 0x100628d5
push 0x22
jmp 0x1006288b
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x100628ef
mov eax, dword [esp + 0x48]
shr eax, 0x12
test dl, al
jne 0x100628ef
push 0x23
jmp 0x1006288b
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 0x10062919
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x10062968
mov eax, dword [esp + 0x48]
shr eax, 0xe
test dl, al
je 0x100629ce
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10062950
shr eax, 8
test al, 0xf
jne 0x100629ce
cmp dword [ecx + 0x4c], edx
jne 0x100629ce
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 + 0x100a1626]
mov ecx, dword [eax*4 + 0x100a4a18]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a1625]
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.0x100629c7
mov edi, dword [esp + 0x40]
mov dword [esp + 0x48], 0x8000000
jmp dword [edi*4 + 0x100686be]
push 0x24
jmp 0x1006288b
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 + 0x1009c088]
lea ecx, [esp + 0x20]
push eax
call fcn.10068b14
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 0x1006641d
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.100623f0
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 0x10062b5e
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x100629c7
lea ecx, [esp + 0xc]
call fcn.100622cc
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x100629c7.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061ed5
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009c0f0]
call fcn.1006227e
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068b41
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c088]
lea ecx, [esp + 0x20]
push eax
call fcn.10068b14
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x1006641d
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.100623f0
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.1006249a
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.1006213d
xor eax, eax
jmp 0x100628a7
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100629c7.1
cmp esi, edx
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
test eax, eax
je case.0x100629c7.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10066423
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100629c7.1
cmp esi, 9
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
cmp eax, 2
jne case.default.0x100629c7
mov ecx, ebx
jmp 0x10062ba7
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100629c7.1
cmp esi, 2
jne case.default.0x100629c7
xor edx, edx
mov ecx, edi
call fcn.10062356
test al, al
je case.default.0x100629c7
mov esi, edi
mov ecx, esi
call fcn.10061e89
mov ecx, eax
call fcn.10061f46
mov ecx, esi
movzx ebx, byte [eax + 0x1009c0f0]
call fcn.10061e89
mov ecx, eax
call fcn.10061f55
test al, al
jne case.default.0x100629c7
test bl, 2
jne case.default.0x100629c7
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623d1
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100622d5
mov edi, eax
mov ecx, edi
call fcn.100623af
test al, al
jne 0x1006641d
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10068b14
mov ecx, esi
call fcn.10061e89
mov ecx, eax
call fcn.1006225a
push eax
lea ecx, [esp + 0x20]
call fcn.10062448
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.1006227e
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068b41
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623f0
xor eax, eax
push eax
push eax
push eax
jmp 0x100659d8
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10062ce4
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x100629c7.1
cmp esi, 0x19
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
mov ecx, ebx
jmp 0x10062cc2
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x100629c7.11
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
xor edx, edx
inc edx
jmp case.0x100629c7.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b7080]
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.0x100629c7.63
mov ebx, edi
cmp esi, 2
je 0x10062d88
jmp case.default.0x100629c7
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x100629c7.14
push 2
pop edx
mov ecx, ebx
call fcn.10062204
test al, al
je case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10062204
test al, al
je case.default.0x100629c7
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10061e8c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062327
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f46
mov ecx, ebx
movzx eax, byte [eax + 0x1009c0f0]
mov dword [esp + 0x48], eax
call fcn.10061e89
mov ecx, eax
call fcn.1006225a
push eax
lea ecx, [esp + 0x20]
call fcn.10062448
lea ecx, [esp + 0x1c]
call fcn.10061f9c
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.1006227e
test dword [esp + 0x48], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10068b41
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623d1
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f51
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.100622d5
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.100623af
test al, al
jne 0x10066421
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068b14
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.100623f0
jmp 0x100679ba
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100629c7
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100629c7.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.100622fb
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x10062eea
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, edi
jmp 0x10063da5
cmp esi, 2
jne 0x10062f05
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp 0x10062d86
mov ecx, ebx
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
cmp esi, 9
je 0x10062ee3
cmp esi, 0xa
jmp 0x10062ea4
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f46
mov ecx, edi
movzx ebx, byte [eax + 0x1009c0f0]
call fcn.10061e89
mov ecx, eax
call fcn.10061f55
test al, al
jne case.default.0x100629c7
test bl, 2
jne case.default.0x100629c7
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623d1
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100622d5
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.100623af
test al, al
jne 0x1006641d
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068b14
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10061e89
mov ecx, eax
call fcn.1006225a
push eax
lea ecx, [esp + 0x20]
call fcn.10062448
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.1006227e
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068b41
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623f0
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x10062cae
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x1006306c
push 2
pop edx
mov ecx, ebx
call fcn.10062204
test al, al
je case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10062204
test al, al
je case.default.0x100629c7
jmp 0x10062ee3
cmp esi, edx
jne case.default.0x100629c7
mov ecx, edi
call fcn.1006218b
jmp 0x1006305f
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100629c7
jmp 0x10062ee3
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b7080]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100630bb
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10063daa
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov dword [esp + 0x14], eax
jmp 0x10062d88
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063124
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 2
jne 0x1006310e
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp case.0x100629c7.63
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b7a
jmp case.0x100629c7.63
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 2
jne 0x10063154
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x10062d88
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b7a
jmp 0x10062d88
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b7080]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006319c
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x100629c7.63
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov dword [esp + 0x14], eax
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100632b9
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne 0x100658bf
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10063286
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10063241
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
push 4
pop ecx
jmp 0x1006324f
mov edx, esi
call fcn.10062055
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063276
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
jmp 0x10063286
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10062055
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10068b0e
test al, al
je case.0x100629c7.63
push 2
lea ecx, [esp + 0x10]
call fcn.100622af
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.100390ff
jmp case.0x100629c7.63
cmp esi, 0x11
jne 0x10063338
push 2
lea ecx, [esp + 0x10]
call fcn.100622af
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10062d88
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063324
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x10062d88
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x14], 4
jmp 0x10062d88
cmp esi, 0xa
jne 0x100633a9
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, ebx
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10062d86
mov ecx, ebx
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10063395
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x10062d86
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x14], 4
jmp 0x10062d86
push 0x80
lea ecx, [esp + 0x10]
call fcn.100622fb
cmp esi, 0x19
jne 0x100635d2
mov ecx, edi
call fcn.10061ebe
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov ecx, dword [esp + 0x44]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x1006343e
mov ecx, edi
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10063420
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x1006342f
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x54], edx
mov byte [esp + 0x30], dl
jmp 0x10063540
push 4
pop eax
cmp ecx, 2
jne 0x10063459
push 0x200000
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp 0x100634f0
cmp ecx, eax
jne 0x10063476
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068b90
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100634f0
cmp ecx, 8
jne 0x100634f3
cmp dword [esp + 0x54], 0x15
jne 0x10063499
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068b96
mov byte [esp + 0x63], bl
pop ecx
pop ecx
test al, al
jne 0x1006349e
mov byte [esp + 0x5b], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068ad2
pop ecx
pop ecx
test al, al
jne 0x100634c4
cmp byte [esp + 0x5b], al
jne 0x100634d9
push 0x32
pop ecx
call fcn.10061e89
jmp 0x1006288c
cmp byte [esp + 0x5b], 0
je 0x100634e2
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10062085
test al, al
je 0x100634e2
push 4
pop eax
mov dword [esp + 0x44], eax
jmp 0x100634e6
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10068b7a
push 4
pop eax
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
call fcn.10068b06
push dword [esp + 0x2c]
mov dword [esp + 0x58], eax
push dword [esp + 0x2c]
mov byte [esp + 0x38], al
call fcn.10068aac
pop ecx
pop ecx
test al, al
je 0x1006353c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
mov edx, dword [esp + 0x54]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10063431
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x18], 0
jne 0x100635ac
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x10063553
cmp dl, bl
je 0x100635b4
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
jne 0x100635ac
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062311
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.1006231c
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x44]
call fcn.10068b06
mov byte [esp + 0x30], al
jmp case.0x100629c7.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.100622af
jmp case.0x100629c7.63
cmp esi, 0x1a
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov dword [esp + 0x34], eax
test eax, eax
je 0x100657cf
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.10068b06
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp dword [esp + 0x34], ebx
jne 0x1006363c
push dword [esp + 0x2c]
push esi
call fcn.10068b90
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068aac
pop ecx
pop ecx
test al, al
je 0x10063674
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
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 0x10063677
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.100622af
push dword [esp + 0x34]
jmp 0x10062ef7
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
cmp eax, 1
je case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov edi, dword [esp + 0x10]
jmp 0x1006595f
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x10063708
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, ebx
call fcn.10061ec3
mov dword [esp + 0x14], eax
jmp 0x10062ee3
cmp esi, 0xa
jne 0x10063721
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp 0x100631a5
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
lea ecx, [esp + 0xc]
call fcn.1006225a
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10062ee3
cmp esi, 0x1a
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
test eax, eax
je 0x100657cf
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062ee3
mov ebx, edi
cmp esi, 2
je 0x10062d88
push 0xe8
lea ecx, [esp + 0x10]
call fcn.100622fb
and dword [esp + 0x14], 0
jmp 0x100640d0
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x100637f2
mov ecx, dword [ebp + 0x14]
call fcn.10061edd
test al, al
je case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
and esi, 0x3f
cmp esi, 9
jne 0x100638b1
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne 0x100658bf
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne case.0x100629c7.63
mov ecx, edi
call fcn.1006215b
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10063879
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
jmp 0x10063885
mov edx, esi
call fcn.10062055
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x1006562b
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
jmp case.0x100629c7.63
cmp esi, 0xa
jne case.default.0x100629c7
jmp 0x1006333d
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10062ea1
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10061e92
test al, al
je case.default.0x100629c7
lea ecx, [ebx + 0x10]
call fcn.10061e92
jmp 0x10062d7e
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 0x10063987
mov ecx, ebx
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10063960
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063949
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10063957
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x100629c7.63
mov ecx, ebx
call fcn.10061ebe
cmp eax, 2
jne 0x10063977
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068b26
push 1
lea ecx, [esp + 0x10]
call fcn.100622af
jmp case.0x100629c7.63
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
test eax, eax
je 0x100657cf
mov ecx, ebx
call fcn.10061ebe
cmp eax, 2
jne 0x100639b6
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, ebx
call fcn.10061ebe
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.100622af
jmp 0x10062d88
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10068af9
mov ecx, ebx
mov di, ax
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
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.0x100629c7.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10063ac4
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.10068aac
pop ecx
pop ecx
test al, al
je 0x10063a8f
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
je 0x10063ab2
push 2
lea ecx, [esp + 0x10]
call fcn.10062306
mov ecx, edi
call fcn.10061ebe
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061ec3
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10063da5
cmp esi, 0xd1
jne 0x10063b82
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.10061ebe
cmp eax, 4
jne 0x10063b2f
push dword [esp + 0x2c]
push esi
call fcn.10068b90
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068aac
pop ecx
pop ecx
test al, al
je 0x10063b56
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
je 0x100630c4
push 2
lea ecx, [esp + 0x10]
call fcn.10062306
mov ecx, edi
call fcn.10061ebe
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100630c4
cmp esi, 9
jne 0x10063be9
mov ecx, ebx
call fcn.10061ebe
cmp eax, 1
je 0x10063cf5
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne 0x100658bf
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp case.0x100629c7.63
cmp esi, 0x11
jne 0x10063c2d
mov ecx, ebx
call fcn.10061ebe
cmp eax, 1
je 0x10063d5a
mov ecx, edi
call fcn.10061ec3
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp 0x10062d88
cmp esi, 0x19
jne case.0x100629c7.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.10061ebe
cmp eax, 4
jne 0x10063c8e
push ebx
push esi
call fcn.10068b90
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068aac
pop ecx
pop ecx
test al, al
je 0x10063cb1
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
je 0x10063cd4
push 2
lea ecx, [esp + 0x10]
call fcn.10062306
mov ecx, edi
call fcn.10061ebe
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061ec3
mov dword [esp + 0x18], eax
jmp 0x10063193
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x100629c7.12
cmp esi, 9
jne 0x10063d55
xor edx, edx
mov ecx, edi
call fcn.100621eb
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.1006217b
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10063d41
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x100638a1
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x18], 4
jmp case.0x100629c7.63
cmp esi, 0x11
jne 0x10063d74
xor edx, edx
mov ecx, edi
call fcn.100621eb
mov edi, dword [esp + 0x10]
test al, al
je 0x10062bb8
jmp 0x10062d8c
cmp esi, 0x49
jne 0x10063db3
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
mov dword [esp + 0x18], eax
jmp case.0x100629c7.63
cmp esi, 0x89
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ebx, dword [ebp + 0x14]
jmp 0x10062d88
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063e2a
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 1
jne case.0x100629c7.63
mov ecx, edi
jmp 0x10063d22
cmp esi, 2
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
test eax, eax
je 0x100657cf
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x10063ec9
mov ecx, edi
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061ebe
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100623c5
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068baa
jmp case.0x100629c7.1
cmp esi, 9
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
cmp eax, 2
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100622af
jmp 0x10063eb3
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100629c7
push 7
pop edx
mov ecx, edi
call fcn.10062356
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
cmp eax, 2
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov ebx, eax
test ebx, ebx
je 0x100657cf
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.100622af
push ebx
lea ecx, [esp + 0x10]
call fcn.10068baa
jmp 0x10062bfe
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063e2a
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10063f96
mov eax, dword [edi]
jmp 0x10063926
mov ecx, dword [esp + 0x10]
call fcn.10062063
test al, al
je 0x10063fba
mov ecx, dword [esp + 0x38]
call fcn.100623c5
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x10063ea9
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
jmp case.0x100629c7.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
jmp 0x10062cd2
push 0x40
mov edx, 0x80
pop ecx
call fcn.1006204b
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068b0e
mov edi, dword [ebp + 0xc]
test al, al
je 0x1006403f
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10062085
test al, al
je 0x1006403f
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10068b0e
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.10068b26
mov ebx, edi
jmp 0x100637ba
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061e92
test al, al
je 0x1006403f
xor edx, edx
mov ecx, edi
inc edx
call fcn.10061efc
test al, al
je case.default.0x100629c7
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10062063
test al, al
je 0x10064081
mov ecx, edi
call fcn.10061ebe
cmp eax, 2
je 0x10064098
mov ecx, esi
call fcn.10062069
test al, al
je 0x1006409c
mov ecx, edi
call fcn.10061ebe
cmp eax, 4
jne 0x1006409c
mov al, 1
jmp 0x1006409e
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10068b41
jmp 0x100637ba
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062ee3
mov ebx, edi
cmp esi, 2
je 0x10062d88
push 0xe9
jmp 0x100637b1
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 0x10066421
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 + 0x100a1400]
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 0x100642c5
call fcn.10061e89
mov ecx, dword [edi + 0x2c]
push eax
call fcn.1006202a
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068250
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x48], esi
call fcn.10061ff2
test al, al
je 0x10064200
mov ecx, ebx
call fcn.10061fff
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.10068c1b
test al, al
je 0x1006436f
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x1006436f
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
jne 0x1006436f
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10062055
push ebx
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x10062b77
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x1006422a
cmp dword [esp + 0xc], 0
je 0x100642ae
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068b0e
test al, al
jne 0x100642ae
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x44], esi
je 0x10064368
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068b0e
test al, al
jne 0x10064368
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062327
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068b14
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068b26
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068b14
mov dword [esp + 0x34], 0xfffffffc
push 4
pop ebx
jmp 0x10068321
push ebx
lea ecx, [esp + 0x20]
call fcn.10068b26
or dword [esp + 0x34], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x10068321
call fcn.10061ea9
test al, al
je 0x10062bb8
mov ecx, edi
call fcn.1006205f
mov ecx, eax
call fcn.1006200a
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x100643fd
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.10062071
mov cl, al
call fcn.10061f8e
test al, al
jne 0x100641a0
push dword [esp + 0x40]
push esi
call fcn.10068ad2
pop ecx
pop ecx
test al, al
jne 0x100641a0
mov ecx, dword [esp + 0x54]
call fcn.10062343
test al, al
jne 0x100643f9
push 0x30
jmp 0x10068252
cmp dword [esp + 0xc], 0
je 0x10064368
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068b0e
test al, al
jne 0x10064368
push 0x10
pop ecx
call fcn.10062046
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.1006205a
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062327
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068b14
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068b26
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068b14
push esi
lea ecx, [esp + 0x20]
call fcn.10068b33
jmp 0x10062b77
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.100697d3
test eax, eax
jne 0x10062890
mov ecx, edi
call fcn.10062092
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10061f9c
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 0x10064532
mov ecx, edi
call fcn.10062071
mov cl, al
call fcn.10061f94
test al, al
je 0x100644a8
mov ecx, dword [esp + 0x54]
call fcn.10062343
test al, al
je 0x100644a8
cmp dword [esp + 0x50], 0
jne 0x10064485
push 0x40
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x34]
call fcn.100692ed
test eax, eax
jne 0x10062890
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10062327
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068b14
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068b26
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068b14
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10061fab
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100620ff
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061fd0
push ebx
lea ecx, [esp + 0x20]
call fcn.10068c2a
jmp 0x10062b77
push esi
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10061fab
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100620ff
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061fd0
push ebx
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x10062b77
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x100645c7
mov ecx, edi
mov ebx, edi
call fcn.10061ebe
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x1006459c
mov ecx, edi
call fcn.10062075
mov esi, eax
jmp 0x100645b8
sub esi, 2
cmp esi, 2
je 0x100645b8
cmp esi, 4
je 0x100645b8
mov ecx, edi
call fcn.10062075
cmp esi, eax
jne 0x10064cd1
push esi
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp 0x10062d8c
cmp esi, 0x1b
jne case.default.0x100629c7
mov ecx, dword [esp + 0x10]
call fcn.10062063
test al, al
je case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, ebx
mov esi, eax
call fcn.10061e89
mov ecx, esi
mov edi, eax
call fcn.10061f85
test edx, edx
jg 0x100634b7
jl 0x1006460f
cmp eax, 0xffff
ja 0x100634b7
mov ecx, edi
call fcn.10061f85
test edx, edx
jg 0x100634b7
jl 0x10064629
cmp eax, 0xffffffff
ja 0x100634b7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, esi
call fcn.10061f85
mov ecx, edi
mov esi, eax
call fcn.10061f85
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x100629c7.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp 0x100630c4
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006488b
mov ecx, edi
call fcn.10061edd
mov ecx, edi
test al, al
je 0x1006481d
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061edd
test al, al
je 0x1006477b
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne case.default.0x100629c7
cmp esi, 1
jne 0x1006475e
mov ecx, edi
call fcn.1006215b
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x1006470e
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
jmp 0x1006471a
mov edx, esi
call fcn.10062055
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x1006473f
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
jmp 0x1006474b
mov edx, esi
call fcn.10062055
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x10063286
push 0x89
lea ecx, [esp + 0x10]
call fcn.100622fb
push esi
lea ecx, [esp + 0x10]
call fcn.10068b50
jmp 0x10063286
mov ecx, ebx
call fcn.100621bb
test al, al
je 0x100647ae
push 0x8c
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
dec dword [esp + 0x14]
jmp case.0x100629c7.63
mov ecx, ebx
call fcn.100621cb
test al, al
je 0x100647fb
push 0x120
lea ecx, [esp + 0x10]
call fcn.100622fb
test byte [esp + 0x14], 8
je case.0x100629c7.63
mov ecx, dword [esp + 0x10]
call fcn.10062063
test al, al
je case.0x100629c7.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10068b26
and dword [esp + 0x14], 7
jmp case.0x100629c7.63
mov ecx, ebx
call fcn.100621db
test al, al
je case.default.0x100629c7
push 0x121
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp case.0x100629c7.63
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061edd
test al, al
je case.default.0x100629c7
mov ecx, edi
call fcn.100621bb
test al, al
je 0x10064860
push 0x8e
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, ebx
jmp 0x10064796
mov ecx, edi
call fcn.100621cb
test al, al
je 0x10064875
push 0x122
jmp 0x100647be
mov ecx, edi
call fcn.100621db
test al, al
je case.default.0x100629c7
push 0x123
jmp 0x1006480f
cmp esi, 0x11
jne 0x10064992
mov ecx, edi
call fcn.10061ec3
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.100621bb
lea ecx, [esp + 0xc]
test al, al
je 0x100648d8
push 0x8e
call fcn.100622fb
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
dec dword [esp + 0x14]
jmp 0x10062d88
push 0
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
cmp dword [esp + 0x14], 0
jne 0x10064944
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f1e
test al, al
jne 0x10064944
mov ecx, ebx
call fcn.10061e89
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10061ebe
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100624f1
add esp, 0xc
test al, al
je 0x10064944
push 0xa0
lea ecx, [esp + 0x10]
call fcn.100622af
jmp 0x10064d44
mov ecx, edi
call fcn.10061ebe
cmp eax, 1
jne 0x10064988
mov ecx, edi
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10064979
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x10064988
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x14], 4
push 0x8a
jmp 0x100639c5
cmp esi, 0xa
jne 0x10064a9b
mov ecx, ebx
call fcn.10061ec3
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.100621bb
lea ecx, [esp + 0xc]
test al, al
je 0x100649e1
push 0x8c
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10062d88
push 0
call fcn.100622fb
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
cmp dword [esp + 0x14], 0
jne 0x10064a44
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f1e
test al, al
jne 0x10064a44
mov ecx, edi
call fcn.10061e89
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10061ebe
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100624f1
add esp, 0xc
test al, al
je 0x10064a44
push 0xa2
jmp 0x10064936
mov ecx, ebx
call fcn.10061ebe
cmp eax, 1
jne 0x10064a88
mov ecx, ebx
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10064a79
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x10064a88
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100622af
jmp 0x100649da
cmp esi, 0x19
jne 0x10064bcd
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
mov byte [esp + 0x30], al
cmp al, 1
jne 0x10064b23
mov ecx, edi
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10064ae7
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x10064af6
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100636d6
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10064b75
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
jne 0x10064b75
push ebx
push esi
call fcn.10068b96
pop ecx
pop ecx
test al, al
je 0x10064b95
mov ecx, dword [esp + 0x10]
push 1
call fcn.10062085
test al, al
je 0x10064b95
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.100622fb
push dword [esp + 0x30]
lea ecx, [esp + 0x10]
call fcn.10068bc0
jmp 0x100636d6
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068ad2
pop ecx
pop ecx
test al, al
je 0x10064b75
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100622fb
and dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x100629c7.63
cmp esi, 0x1a
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov dword [esp + 0x34], eax
test eax, eax
je 0x100657cf
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.100622fb
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10068b50
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.10068b06
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10064cd8
mov ecx, edi
call fcn.10061ec3
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061ec7
test al, al
je case.default.0x100629c7
cmp dword [esp + 0x14], 0
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f1e
test al, al
jne 0x10064ccd
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10062237
cmp eax, 2
jne 0x10064d44
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x10068252
cmp esi, 0xa
jne 0x10064d8a
mov ecx, ebx
call fcn.10061ec3
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100622fb
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061ec7
test al, al
je case.default.0x100629c7
cmp dword [esp + 0x14], 0
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f1e
test al, al
jne 0x10064ccd
mov ecx, esi
call fcn.10061e89
mov ecx, eax
call fcn.10061f6a
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10062075
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x30], al
call fcn.10061e89
mov ecx, eax
call fcn.1006225a
push eax
lea ecx, [esp + 0x20]
call fcn.10062448
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x100629c7.1
cmp esi, 0x19
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.1006216b
test al, al
je case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100622fb
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10068bd6
jmp 0x100636d6
mov ecx, ebx
call fcn.10061ebe
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100622af
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
cmp esi, 9
jne 0x100630bb
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 1
jne case.0x100629c7.63
jmp 0x10063924
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, ebx
call fcn.1006216b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068be1
jmp 0x100631a5
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, ebx
mov esi, eax
call fcn.10061e89
mov ecx, eax
call fcn.10061ed5
mov ecx, esi
mov bl, al
call fcn.10061ed5
cmp al, bl
jne case.default.0x100629c7
mov ecx, esi
call fcn.10061f14
test al, al
jne case.default.0x100629c7
mov ecx, esi
call fcn.10061f55
test al, al
jne case.default.0x100629c7
mov ecx, esi
call fcn.10062250
test al, al
je 0x10064edf
mov ecx, esi
call fcn.1006225a
cmp eax, 1
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10062d88
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10064f4b
mov ecx, ebx
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100623c5
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.100622fb
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068baa
jmp 0x10062cc0
cmp esi, 9
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
cmp eax, 2
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100622af
mov ecx, ebx
jmp 0x10063eb5
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
cmp eax, 2
jne case.default.0x100629c7
push 6
pop edx
mov ecx, ebx
call fcn.10062356
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
mov edi, eax
test edi, edi
je 0x100657cf
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.100622af
push edi
jmp 0x10063f5f
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065026
mov ecx, edi
call fcn.100621bb
test al, al
je 0x100650bc
mov ecx, edi
call fcn.10061ec3
cmp eax, 7
jae 0x100650b5
push dword [eax*4 + 0x1009c0d0]
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp case.0x100629c7.1
cmp esi, 3
jne 0x10065100
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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.10068aac
pop ecx
pop ecx
test al, al
je 0x10065077
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
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 0x10065018
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065100
mov ecx, edi
call fcn.100621bb
test al, al
je 0x100650bc
mov ecx, edi
call fcn.10061ec3
cmp eax, 2
je 0x100650b5
cmp eax, 7
jae 0x100650b5
push dword [eax*4 + 0x1009c5b8]
jmp 0x10065018
push 0x31
jmp 0x100634b9
mov ecx, edi
call fcn.10061ebe
cmp eax, 2
jb case.default.0x100629c7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068baa
mov ecx, edi
call fcn.10061ec3
mov dword [esp + 0x14], eax
jmp 0x100636d6
cmp esi, 2
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
test eax, eax
je 0x100657cf
mov ecx, edi
call fcn.10061ebe
cmp eax, esi
je 0x1006513d
mov ecx, edi
call fcn.10061ebe
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10062075
cmp esi, eax
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068baa
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x10065169
push edx
lea ecx, [esp + 0x10]
call fcn.100622af
jmp case.0x100629c7.1
cmp esi, 3
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x100651a4
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
jne 0x100651a4
push 1
jmp 0x1006515b
mov byte [esp + 0x30], 2
jmp case.0x100629c7.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x1006528f
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 1
jne 0x1006521c
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006520a
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10065218
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10065238
mov ecx, ebx
call fcn.10061ec3
cmp eax, 1
jne case.default.0x100629c7
push 2
jmp 0x100635c4
cmp esi, 0x19
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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 0x1006527b
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
je case.0x100629c7.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.10062306
mov byte [esp + 0x30], bl
jmp case.0x100629c7.63
call fcn.10061ebe
test eax, eax
je 0x100657cf
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
cmp esi, 0xa
jne 0x100652d2
mov ecx, ebx
call fcn.10061ec3
cmp eax, 1
jne case.default.0x100629c7
push 2
lea ecx, [esp + 0x10]
call fcn.100622af
jmp 0x10062d86
cmp esi, 0x1a
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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 0x1006531b
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
je 0x10062d86
push 0x10
lea ecx, [esp + 0x10]
call fcn.10062306
mov al, bl
jmp 0x10064c3e
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10062ea1
mov ecx, edi
call fcn.10061ec3
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x1006535b
cmp eax, 4
jmp 0x10063937
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x1006394e
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x100653ad
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, ebx
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
jmp 0x10062aab
cmp esi, 0xca
jne 0x100653f9
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b50
mov ecx, ebx
call fcn.10061ec3
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062d88
push edx
lea ecx, [esp + 0x10]
call fcn.100622af
cmp esi, 0x49
jne 0x10065420
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
cmp eax, 1
jne case.default.0x100629c7
mov ecx, edi
jmp 0x100636e9
cmp esi, 0x4a
jne case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
cmp eax, 1
jne case.default.0x100629c7
mov ecx, ebx
jmp 0x1006370d
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, ebx
mov esi, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
test eax, eax
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
xor edx, edx
mov ecx, eax
call fcn.10061efc
test al, al
je case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov edi, eax
call fcn.10061eb4
test al, al
je 0x100654a0
mov ecx, ebx
call fcn.10061ebe
cmp eax, edi
jne 0x100658bf
push edi
lea ecx, [esp + 0x10]
call fcn.10068b65
jmp 0x10062bfe
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, edi
mov esi, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
test eax, eax
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061e89
xor edx, edx
mov ecx, eax
call fcn.10061efc
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
mov ecx, edi
mov ebx, eax
call fcn.10061eb4
test al, al
je 0x1006550e
mov ecx, edi
call fcn.10061ebe
cmp eax, ebx
jne 0x100658bf
push ebx
jmp 0x100654a1
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061e89
mov ecx, eax
call fcn.10061f46
mov ecx, ebx
mov esi, eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f46
cmp esi, eax
jne case.default.0x100629c7
mov ecx, edi
mov esi, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f55
test al, al
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
mov ebx, eax
test ebx, ebx
je 0x100657cf
jmp 0x100654ff
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006563c
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
jne 0x100658bf
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne case.0x100629c7.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x100655fe
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062055
push 4
pop ecx
jmp 0x1006560c
mov edx, esi
call fcn.10062055
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065627
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x1006389d
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10062055
add dword [esp + 0x14], 4
jmp case.0x100629c7.63
cmp esi, 0xa
jne 0x10065688
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, ebx
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10062d86
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063395
jmp 0x10063378
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
lea ecx, [esp + 0xc]
call fcn.1006225a
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x100657bb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10065730
mov ecx, edi
call fcn.1006215b
lea ecx, [esp + 0x20]
test al, al
jne 0x10065700
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062055
jmp 0x1006570f
mov edx, Ordinal_2
call fcn.10062055
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x1006576a
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061ebe
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068b06
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x100629c7.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
jne case.0x100629c7.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, edi
call fcn.10061ebe
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp case.0x100629c7.1
cmp esi, 0x1a
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
test eax, eax
jne 0x100657d6
push 0x34
jmp 0x1006288b
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061ebe
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
jmp 0x10064c35
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x100629c7.61
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b65
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
cmp eax, 1
jne 0x10062d88
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10065872
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10065880
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10062d88
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100659ec
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
cmp esi, eax
je 0x100658c6
push 0x35
jmp 0x1006288b
cmp esi, 1
je 0x100655c9
cmp dword [esp + 0x54], 0x668
jne 0x100659e6
cmp dword [esp + 0x14], 0
je 0x100658ef
cmp dword [esp + 0x18], 0
jne 0x100659e6
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062069
test al, al
je 0x1006591d
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x1006591d
cmp esi, 4
jb 0x1006591d
cmp esi, 8
jne 0x100659e6
push 0x8000000
jmp 0x10065948
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068b0e
test al, al
jne 0x100659e6
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10068b65
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10062311
push 0x90
lea ecx, [esp + 0x10]
call fcn.1006231c
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623d1
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100622d5
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.100623af
test al, al
jne 0x10066421
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068b14
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.100622af
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100623f0
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.1006249a
jmp 0x10062b77
push esi
jmp 0x10063fc2
cmp esi, 0xa
jne case.default.0x100629c7
jmp 0x10065641
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065a46
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068b0e
test al, al
je case.0x100629c7.63
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x100632a7
cmp esi, 0x11
je 0x100630c4
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x100631a5
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065b15
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x10065b68
test edx, edx
jne case.default.0x100629c7
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10062327
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009c088]
lea ecx, [esp + 0x20]
push eax
call fcn.10068b14
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.0x100629c7.0
cmp esi, 2
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.100622fb
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10062311
jmp 0x10062d86
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x10065b64
cmp esi, edx
jne 0x10065b15
mov ecx, edi
call fcn.10061ec3
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.0x100629c7.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10065c1c
mov ecx, edi
mov ebx, edi
call fcn.10061ebe
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x10065bb4
push 0x1000
mov ecx, esi
call fcn.1006228b
test al, al
jne 0x10062d88
mov ecx, edi
call fcn.10061ebe
cmp eax, 8
jne 0x10065bd7
push 0x2000
mov ecx, esi
call fcn.1006228b
test al, al
je 0x10065bd7
push 4
jmp 0x100639c5
mov ecx, edi
call fcn.10061ebe
cmp eax, 0xa
jne case.default.0x100629c7
push 0x800
mov ecx, esi
call fcn.1006228b
test al, al
je case.default.0x100629c7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
lea ecx, [esp + 0xc]
call fcn.1006225a
jmp 0x100630cb
cmp esi, edx
jne case.default.0x100629c7
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10065c40
mov ecx, edi
call fcn.10061ec3
add eax, 0x364c0
jmp 0x10065ac4
cmp eax, 0xec
jne 0x10065c58
mov ecx, edi
call fcn.10061ec3
add eax, 0x374d0
jmp 0x10065ac4
cmp eax, 0xef
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
add eax, 0x374d8
jmp 0x10065ac4
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100629c7
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, edi
mov ebx, edi
call fcn.10061ebe
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10065cb4
push 0x800
mov ecx, esi
call fcn.1006228b
test al, al
jne 0x10065bd0
mov ecx, edi
call fcn.10061ebe
cmp eax, 4
jne 0x10065cd4
push 0x1000
mov ecx, esi
call fcn.1006228b
test al, al
jne 0x10062d88
mov ecx, edi
call fcn.10061ebe
cmp eax, 8
jne case.default.0x100629c7
push 0x2000
mov ecx, esi
call fcn.1006228b
test al, al
je case.default.0x100629c7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
and eax, 0xffff1fff
jmp 0x10065c04
test esi, esi
jne case.0x100629c7.70
push edx
lea ecx, [esp + 0x10]
call fcn.100622af
jmp case.0x100629c7.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
push eax
jmp 0x10065d10
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065d57
mov ecx, edi
call fcn.10061ec3
test eax, eax
jne case.default.0x100629c7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
jmp 0x10065ac4
cmp esi, 2
jne case.default.0x100629c7
jmp 0x10065b3d
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10065da5
mov ecx, ebx
call fcn.1006219b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068bf0
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10063ab2
cmp esi, 0xca
jne case.default.0x100629c7
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, ebx
call fcn.1006219b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068bf0
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100631a5
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10065e3c
mov ecx, ebx
call fcn.1006219b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068bf0
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100636f8
cmp esi, 0xca
jne case.default.0x100629c7
jmp 0x10065dc2
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065e96
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068b0e
test al, al
je case.0x100629c7.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x100629c7.63
mov ecx, eax
jmp 0x10065a32
cmp esi, 0x11
je 0x100630c4
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x1006319c
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065ed2
mov ecx, edi
call fcn.10061ebe
cmp eax, 1
je case.default.0x100629c7
jmp 0x1006466c
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
cmp eax, 1
je case.default.0x100629c7
jmp 0x1006543a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065fb0
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100621ab
test al, al
je 0x10065f64
mov ecx, ebx
call fcn.100621ab
test al, al
je 0x10065f64
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068b0e
test al, al
je case.0x100629c7.63
push 0x10
jmp 0x1006329e
mov ecx, edi
call fcn.1006219b
test al, al
je 0x10066030
mov ecx, ebx
call fcn.1006219b
test al, al
je 0x10066030
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068b0e
test al, al
je case.0x100629c7.63
push 0x2001d6
jmp 0x10065a38
cmp esi, 0x11
jne 0x10065ff0
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100621ab
test al, al
je 0x10065fde
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x10062d88
mov ecx, edi
call fcn.1006219b
test al, al
je 0x10066030
push 0x40017e
jmp 0x10065fd0
cmp esi, 0xa
jne 0x10066030
mov ecx, ebx
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100621ab
test al, al
je 0x1006601e
push 0x17f
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x10062d86
mov ecx, ebx
call fcn.1006219b
test al, al
je 0x10066030
push 0x2001d6
jmp 0x10066010
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x4c], eax
call fcn.1006231c
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 0x1006607c
mov ecx, ebx
call fcn.10061edd
test al, al
je 0x10066085
jmp 0x10063abd
cmp esi, 0x11
je 0x10062d88
push dword [esp + 0x48]
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
mov ecx, ebx
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006219b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068bf0
cmp esi, 9
jne 0x10062f26
mov ecx, edi
call fcn.10061edd
jmp 0x1006305f
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100660f2
xor edx, edx
mov ecx, eax
call fcn.1006221e
test al, al
je case.default.0x100629c7
and esi, 0x3f
jmp case.0x100629c7.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100660f2
push 7
pop edx
mov ecx, eax
call fcn.10062356
jmp 0x100660ea
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10066125
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 0x100630ac
cmp esi, 0x11
jne case.default.0x100629c7
mov eax, dword [edi + 4]
jmp 0x100630cb
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006619c
mov ecx, edi
call fcn.1006219b
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.1006219b
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068bff
mov ecx, edi
call fcn.10061ec3
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10063da5
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, edi
call fcn.1006219b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068bf0
jmp 0x100630c4
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10063ab2
cmp esi, 0x11
je 0x100630c4
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
lea ecx, [esp + 0xc]
call fcn.1006225a
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062ee3
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10066166
cmp esi, 0x11
je 0x100661a5
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
lea ecx, [esp + 0xc]
call fcn.1006225a
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x100629c7
mov ecx, edi
call fcn.1006219b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068bf0
jmp 0x100661fa
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 0x10063ab2
cmp esi, 0xd1
jmp 0x100630be
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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 0x10066166
cmp esi, 0xd1
jmp 0x1006619f
mov ecx, dword [ebp + 0xc]
call fcn.10061ec3
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x100629c7.63
cmp esi, 0xd9
jne case.default.0x100629c7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.1006225a
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
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.0x100629c7.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.0x100629c7.63
cmp ecx, 0x6c9
jne case.default.0x100629c7
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, dword [ebp + 0x18]
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
mov ecx, dword [ebp + 0x14]
jmp 0x10066346
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 0x10063abd
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10062bb8
jmp 0x10062d8c
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x10062890
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 0x1006647a
push 0x18
lea ecx, [esp + 0x10]
call fcn.10062330
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10068b33
jmp case.0x100629c7.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068b26
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068b26
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp case.0x100629c7.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006653f
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061edd
test al, al
je 0x100664f5
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp case.0x100629c7.93
mov ecx, edi
call fcn.10061edd
test al, al
je 0x1006650c
mov ecx, dword [esp + 0x38]
call fcn.100623c5
inc eax
jmp 0x100664e6
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068b0e
test al, al
je case.0x100629c7.93
push 1
lea ecx, [esp + 0x10]
call fcn.100622af
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.100390ff
jmp case.0x100629c7.93
cmp esi, 0x11
jne 0x10066550
mov ecx, edi
call fcn.10061ec3
jmp 0x100675a5
cmp esi, 0xa
jne case.default.0x100629c7
push edx
lea ecx, [esp + 0x10]
call fcn.100622af
jmp 0x1006759c
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061e89
mov ecx, eax
call fcn.1006216b
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068be1
jmp case.0x100629c7.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100629c7
mov ebx, edi
jmp 0x100675a9
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 + 0x1009c4f8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10067033
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ebe
mov ecx, eax
call fcn.10062399
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.10062389
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068afe
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp 0x1006759c
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x100629c7.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x30], 1
jmp case.0x100629c7.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 + 0x1009c4f8]
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 0x100666c3
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x1006846a
cmp esi, 0xca
jmp 0x10067596
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100666e8
push 7
pop edx
mov ecx, eax
call fcn.10062356
test al, al
je case.default.0x100629c7
and esi, 0x3f
jmp case.0x100629c7.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.0x100629c7.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10066741
mov ecx, ebx
call fcn.10061ebe
mov ecx, eax
call fcn.10062399
push eax
jmp 0x10066756
mov ecx, edi
call fcn.10061ebe
cmp eax, 0x20
jne case.0x100629c7.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp case.0x100629c7.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x100629c7.106
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061edd
test al, al
je case.0x100629c7.106
mov ecx, edi
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
or esi, eax
mov ecx, esi
call fcn.10062399
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.100623c5
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.100622fb
mov ecx, edi
call fcn.10061ec3
jmp 0x1006845f
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 + 0x1009c4f8]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100667e9
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x1006846a
cmp esi, 0x11
jne case.default.0x100629c7
mov eax, dword [edi + 4]
jmp 0x100675a5
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov ecx, eax
call fcn.10062399
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10062389
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068afe
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp 0x10066544
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.10061eec
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.10061eec
test al, al
je case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
call fcn.10061eec
test al, al
je case.default.0x100629c7
mov ecx, dword [ebp + 0x18]
call fcn.10061eec
test al, al
je case.default.0x100629c7
mov ecx, dword [esp + 0x34]
call fcn.10061eec
test al, al
je case.default.0x100629c7
mov ecx, esi
call fcn.10061e9f
test al, al
je case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10061ec3
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10061ec3
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.10061ec3
mov edx, eax
test bl, 3
jne 0x10066910
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10066910
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10066910
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10066910
mov ecx, edi
call fcn.10061ec3
mov edx, ebx
mov ecx, eax
call fcn.10062382
mov ebx, dword [esp + 0x24]
jmp 0x100675a5
push 0x3c
jmp 0x100634b9
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.0x100629c7.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 + 0x1009c4f8]
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 0x100667da
cmp esi, 0xd1
jne case.default.0x100629c7
jmp 0x10066544
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x100629c7.115
push 2
pop edx
mov ecx, eax
call fcn.10061efc
test al, al
je case.default.0x100629c7
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 0x10066a2c
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 + 0x1009c4f8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066b34
cmp esi, 0x89
jne case.default.0x100629c7
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x100675a5
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
test al, 1
jne 0x10066add
mov ecx, edi
call fcn.10061ec3
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10061ec3
cmp esi, eax
jne 0x10066add
mov ecx, dword [ebp + 0x14]
call fcn.10061ebe
mov ecx, eax
call fcn.10062399
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061e92
mov ecx, ebx
test al, al
jne 0x10068465
call fcn.10061e9f
test al, al
je case.default.0x100629c7
jmp 0x100675a9
push 0x1d
jmp 0x100634b9
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 + 0x1009c4f8]
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 0x10066b4c
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 0x1006846a
cmp ecx, 0x289
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ebx, dword [ebp + 0x14]
jmp 0x100675a5
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.0x100629c7.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 + 0x1009c4f8]
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 0x10066b34
cmp eax, 0x689
jmp 0x10066b52
mov ecx, dword [ebp + 0xc]
call fcn.1006216b
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.1006216b
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068c0d
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10068445
cmp esi, 0x51
jne case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
jmp 0x100675a5
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x100629c7.128
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x10066806
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ebe
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061ebe
or esi, eax
mov ecx, esi
call fcn.10062399
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10062389
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068afe
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp 0x10066c5e
mov ecx, dword [ebp + 0x18]
call fcn.10061e8c
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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 0x10068445
cmp eax, 0x651
jmp 0x10066c58
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066dd7
mov ecx, edi
call fcn.10061edd
test al, al
je 0x10066d83
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
mov ecx, edi
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b7a
mov ecx, ebx
call fcn.10061ec3
mov ecx, edi
jmp 0x10068461
mov ecx, ebx
call fcn.10061edd
test al, al
je 0x10066da4
mov ecx, ebx
call fcn.10061ebe
push eax
lea ecx, [esp + 0x10]
call fcn.10068b7a
jmp 0x100667ab
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062327
test eax, eax
je 0x10066e0a
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062311
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp 0x100667ab
cmp esi, 0x11
jne 0x10066e0e
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062327
test eax, eax
je 0x10066544
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062311
push 0x40017e
jmp 0x10066831
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
cmp esi, 0xa
jne case.default.0x100629c7
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10062327
test eax, eax
je 0x1006759c
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10062311
push 0x2001d6
jmp 0x1006660c
mov ecx, dword [ebp + 0xc]
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
or esi, eax
mov ecx, esi
call fcn.10062399
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100667ab
cmp esi, 0x11
je 0x10066544
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
jmp 0x10067593
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10066f2a
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068b0e
test al, al
je case.0x100629c7.93
lea ecx, [esp + 0xc]
call fcn.100622ba
mov ecx, ebx
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ecx, dword [ebp + 0x14]
jmp 0x10068461
cmp esi, 0x51
je 0x10066c5e
cmp esi, 0x89
jne case.default.0x100629c7
lea ecx, [esp + 0xc]
call fcn.100622ba
jmp 0x10066b58
mov ecx, dword [ebp + 0xc]
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
or esi, eax
mov ecx, esi
call fcn.10062399
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066f09
cmp esi, 0x89
je 0x10066b58
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
mov ecx, dword [ebp + 0x14]
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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 0x10066996
jmp 0x100667ab
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066ec1
cmp esi, 0x51
je 0x10066c5e
cmp esi, 0x89
je 0x10066f3f
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x10066fa4
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066f09
cmp esi, 0x89
je 0x10066b58
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
cmp esi, 9
je 0x10066d75
jmp 0x10067593
mov ecx, dword [ebp + 0xc]
call fcn.10061ebe
mov ecx, ebx
mov esi, eax
call fcn.10061ebe
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009c4f8]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066b34
cmp esi, 0x89
je 0x10066b58
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
cmp esi, 0x4a
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
jmp 0x100675a3
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 + 0x1009c4f8]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066b34
cmp esi, 0x89
je 0x10066b58
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10062311
mov ecx, dword [esp + 0x38]
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
lea ecx, [esp + 0xc]
call fcn.1006225a
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061e89
mov ecx, eax
call fcn.10061f85
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 0x1006717b
mov ecx, edi
call fcn.10061ec3
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x1006845a
cmp esi, 0xd1
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10066c73
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 0x100671e2
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100667e1
cmp esi, 0x11
jmp 0x10067181
cmp esi, 0xd1
jne case.0x100629c7.146
lea ecx, [esp + 0xc]
call fcn.100622c3
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 + 0x1009c4f8]
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 0x1006725d
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10067247
mov ecx, ebx
call fcn.10061ebe
cmp eax, 8
je 0x10067247
xor eax, eax
jmp 0x1006724b
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 0x100671d3
cmp esi, 0xd1
jne case.default.0x100629c7
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100675a9
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10061ebe
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009c4f8]
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 0x100672ef
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 0x1006665c
cmp eax, 0x449
jne 0x10067342
lea ecx, [esp + 0xc]
call fcn.100622ba
mov ecx, ebx
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061ec3
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 0x100675a9
cmp eax, 0x289
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x1006731e
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.0x100629c7
call fcn.10061e8c
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10061ebe
mov ecx, edi
mov esi, eax
call fcn.10061ebe
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10061ebe
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10061ebe
or eax, esi
mov ecx, eax
call fcn.10062399
push eax
lea ecx, [esp + 0x10]
call fcn.1006231c
mov ecx, dword [esp + 0x50]
call fcn.10061e89
mov ecx, eax
call fcn.10068af5
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 0x10067445
mov ecx, ebx
call fcn.10061ec3
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ec3
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10061ec3
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x100629c7.93
cmp eax, 0x449
jne 0x10067489
lea ecx, [esp + 0xc]
call fcn.100622ba
mov ecx, ebx
call fcn.10061ec3
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061ec3
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x100675a9
cmp eax, 0x289
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10067474
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066b34
cmp esi, 0x11
je 0x10066544
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, eax
call fcn.100623c5
push eax
lea ecx, [esp + 0x10]
call fcn.100622fb
jmp 0x1006759c
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 + 0x1009c4f8]
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 0x100672ef
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 0x1006755d
lea ecx, [esp + 0xc]
call fcn.100622ba
mov ecx, dword [ebp + 0x18]
call fcn.10061ec3
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061ec3
jmp 0x100672e2
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
mov ecx, dword [ebp + 0x18]
jmp 0x1006754f
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100629c7
mov ecx, edi
call fcn.10061ec3
mov dword [esp + 0x14], eax
jmp case.0x100629c7.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x1006699c
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100629c7
mov ecx, ebx
call fcn.10061ec3
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10061e8c
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f46
mov ecx, ebx
movzx eax, byte [eax + 0x1009c0f0]
mov dword [esp + 0x48], eax
call fcn.10061e89
mov ecx, eax
call fcn.1006225a
push eax
lea ecx, [esp + 0x20]
call fcn.10062448
lea ecx, [esp + 0x1c]
call fcn.10061f9c
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.1006227e
test dword [esp + 0x48], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068b41
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f28
test al, al
je 0x10067631
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f36
test al, al
je 0x10067657
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f51
mov dword [esp + 0x24], eax
jmp 0x1006765c
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.1006226b
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10061ec3
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.100622e5
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x38], eax
call fcn.10061f9c
mov ecx, eax
call fcn.10062046
mov edx, 0x400000
mov ecx, eax
call fcn.10062282
mov esi, dword [esp + 0x38]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x38], esi
call fcn.1006204b
mov edx, 0x80000
mov ecx, eax
call fcn.1006204b
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10068b0e
test al, al
je 0x1006774f
mov edx, 0x80000
mov ecx, 0x40000
call fcn.1006204b
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068b0e
test al, al
jne 0x10068513
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10062050
or esi, eax
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
call fcn.1006229f
test al, al
je 0x10067789
test esi, 0x80df8110
jne 0x10067795
mov edx, 0x400
mov ecx, 0x800
call fcn.1006204b
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068b0e
test al, al
jne 0x10067789
or esi, 0x10
mov dword [esp + 0x38], esi
test esi, 0x80df8110
je 0x100678ed
push 4
lea ecx, [esp + 0x10]
call fcn.10062338
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.10062338
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x34], eax
test eax, 0x10000000
je 0x1006789e
mov ecx, dword [esp + 0x44]
call fcn.100622a5
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10061e89
mov ecx, eax
call fcn.10062275
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x10067897
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.10068c5f
lea edx, [esp + 0x50]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
call fcn.10068afe
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x38], eax
cmp eax, 0x40000000
ja 0x10067897
lea edx, [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.10068afe
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10062311
mov ecx, dword [esp + 0x5c]
call fcn.10068c5f
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.1006231c
jmp 0x100678de
push 0x29
jmp 0x10068252
push 0x19
lea ecx, [esp + 0x10]
call fcn.10062338
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.10062338
mov ecx, dword [esp + 0x34]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009bfc8]
lea ecx, [esp + 0x10]
call fcn.100622af
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0x20]
call fcn.10068b33
jmp 0x10067997
push 0xd
lea ecx, [esp + 0x10]
call fcn.10062338
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.10062338
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.100623b9
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10062311
test esi, 0x8000807e
je 0x10067973
push 0x18
lea ecx, [esp + 0x10]
call fcn.10062330
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c090]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10068b33
jmp 0x100679a4
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068b26
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068b26
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.1006228b
test al, al
jne 0x10068059
mov eax, dword [esp + 0x48]
test al, 0x42
jne 0x10067f52
test al, 1
je 0x10067b5d
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.100623a4
pop ecx
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.10062297
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x10067a78
test al, al
jne 0x10067a78
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x10067a22
test ebx, ebx
jne 0x10067a22
push esi
jmp 0x10067aa7
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062327
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.10068c1b
test al, al
je 0x10067a62
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067a62
lea eax, [esi + 0x40]
jmp 0x10067b0c
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push ebx
jmp 0x10067f44
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x10067ab5
cmp dword [esp + 0x54], 0
jne 0x10067ab5
push esi
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x100659cc
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062327
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.10068c1b
test al, al
je 0x10067b2c
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x10067b2c
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, dword [esp + 0x34]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10068b26
jmp 0x100659cc
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x54]
jmp 0x10067f44
test al, 0x30
jne 0x10067e9c
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10062237
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10062063
test al, al
je 0x10067bb1
cmp esi, 2
je 0x10064cd1
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100623a4
jmp 0x10067e88
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], esi
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.1006205f
mov ecx, eax
call fcn.1006200a
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x10067cba
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10067c7f
cmp dword [esp + 0x34], esi
je 0x10067e63
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10067cc3
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x10067e63
cmp dword [esp + 0x54], 0x17e
jne 0x10067e57
movzx eax, al
test al, 0x40
je 0x10067e63
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10067e63
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10068b0e
test al, al
jne 0x10067e63
push ebx
lea ecx, [esp + 0x20]
call fcn.10062124
jmp 0x10067e63
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.1006225a
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10067cab
cmp dword [esp + 0x34], esi
je 0x10067ca6
cmp dword [esp + 0x44], 0
jne 0x10067cab
xor eax, eax
inc eax
jmp 0x10067cad
xor al, al
cmp ecx, 5
jae 0x10067d98
test al, al
jmp 0x10067cbd
cmp eax, 2
jne 0x10067d98
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.100620ff
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 0x10067db5
mov ecx, dword [edi + 0x68]
call fcn.10061f9c
test eax, eax
jne 0x10067db5
mov ecx, dword [edi + 0x68]
call fcn.10061f9f
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.10061e89
mov ecx, eax
call fcn.10061f6a
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10068ad2
pop ecx
pop ecx
test al, al
je 0x10067d7a
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.10068b33
jmp 0x10062b5e
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10062240
mov edi, dword [esp + 0x10]
test al, al
jne 0x10064cd1
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x34], esi
je 0x10067e63
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10067c23
push 0x2e
jmp 0x10068252
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.100697d3
test eax, eax
jne 0x10062890
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, dword [edi + 0x68]
call fcn.10061f9c
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062092
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.10061fab
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100620ff
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061fd0
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f6a
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10068c2a
jmp 0x100659cc
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10068c35
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push 5
mov edx, ebx
xor ecx, ecx
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push dword [esp + 0x24]
jmp 0x10067f44
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, edi
call fcn.10062063
test al, al
jne 0x100681f1
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
test byte [esp + 0x48], 0x10
mov esi, eax
je 0x10067f43
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062011
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10068250
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.10061ff2
test al, al
je 0x100642a6
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100620ff
mov ecx, ebx
sub esi, eax
call fcn.10061fff
add eax, esi
push eax
jmp 0x10067f44
push esi
lea ecx, [esp + 0x20]
call fcn.10068b33
jmp 0x100659cc
test al, 0x40
jne 0x10067f6a
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10068069
push 0x2c
jmp 0x10068252
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
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 0x1006802e
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 0x10067fd2
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10062263
test eax, eax
jne 0x10064cd1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov al, byte [esi + eax*8 + 0x1009c538]
jmp 0x10067fe2
test al, 2
je 0x10067fdc
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009bfbc]
movzx ecx, al
cmp ecx, 0xff
je 0x10064cd1
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10068005
cmp esi, 6
jne 0x10067a1c
mov ecx, edx
call fcn.10068c1b
lea ecx, [esp + 0x1c]
test al, al
je 0x10068026
lea eax, [esi + 0x40]
push eax
call fcn.10068b26
push dword [esp + 0x34]
jmp 0x10067aa7
lea eax, [esi + 0x80]
jmp 0x10068041
test al, 0x30
jne 0x10064cd1
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10068b26
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10068c4f
jmp 0x100659cc
mov eax, dword [esp + 0x48]
test al, 2
je 0x10062bb8
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x10068153
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x38], eax
call fcn.100623a4
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.10061e89
mov ecx, eax
call fcn.10062263
mov edx, esi
mov ecx, eax
call fcn.100623a4
mov esi, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x44], ebx
pop ecx
test esi, esi
jne 0x100680e2
cmp dword [esp + 0x18], 5
je 0x100680e2
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
push eax
call fcn.10068b26
push ebx
jmp 0x10067aa7
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10062327
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10068c1b
test al, al
je 0x10068135
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x34]
shl eax, cl
cmp ebx, eax
jne 0x10068139
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10068b26
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x10067a1c
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10068b26
push dword [esp + 0x40]
jmp 0x10067a69
test al, 0x30
jne 0x100681a6
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push 5
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10062263
mov edx, esi
mov ecx, eax
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
jmp 0x10067f40
mov ecx, edi
call fcn.10062063
test al, al
je 0x10064cd1
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
push 5
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10062263
mov edx, esi
mov ecx, eax
call fcn.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10062006
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10068a8f
test eax, eax
jne 0x1006842c
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061f81
test byte [esp + 0x48], 0x10
mov dword [esp + 0x40], eax
je 0x10068386
mov ecx, ebx
call fcn.10061e89
mov ecx, eax
call fcn.10061ec3
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062011
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x10068258
push 0xc
pop ecx
jmp 0x1006842f
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.100697d3
test eax, eax
jne 0x10062890
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x44], eax
call fcn.10061f9c
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062092
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.10061fab
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.100620ff
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061fd0
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.10061fea
test al, al
je 0x10068316
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10061fff
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10061fe6
mov ecx, eax
call fcn.10061f9c
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10067e47
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100620ff
push ebx
push 0
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.10061fab
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x38]
mov ecx, dword [ecx]
push esi
call fcn.10061f9c
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.100693f6
mov esi, eax
test esi, esi
je 0x1006842c
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10068377
call fcn.10061f9c
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10062108
jmp 0x100659cc
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.100697d3
test eax, eax
jne 0x10062890
mov ecx, dword [edi + 0x68]
call fcn.10061f9c
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10061f9c
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.10061fab
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.100620ff
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061fd0
mov ecx, edi
call fcn.10062092
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.10061fa6
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 0x10067e49
xor ecx, ecx
inc ecx
call fcn.10061e89
jmp 0x10062890
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x100629c7
mov ecx, dword [ebp + 0x14]
call fcn.10061ec3
mov ecx, edi
mov esi, eax
call fcn.10061ec3
mov edx, esi
mov ecx, eax
call fcn.10062382
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061ec3
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 0x10068526
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10068526
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x100684e3
test byte [eax + 4], 0x70
jne 0x10068513
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x1006850b
shr edx, 2
test dl, 1
je 0x10068513
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10068520
shr edx, 3
test dl, 1
jne 0x1006851a
push 0x2a
jmp 0x10066423
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x10068546
test ecx, esi
jne 0x1006854e
test dword [esp + 0x20], 0xc00
jne 0x10068546
or esi, 0x10
test ecx, esi
je 0x100685e1
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.10068b33
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.10062462
jmp 0x10062b77
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 0x1006865f
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009c090]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10068b33
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 0x100685c1
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068b26
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068b26
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068b26
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.100623a4
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068b26
jmp 0x100685c7
mov edi, eax
jmp 0x10062bb8