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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, ecx
mov dword [esp + 0x48], 0
xor cl, cl
mov dword [esp + 0x18], eax
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 0x74]
mov byte [esp + 0x24], cl
sbb ecx, ecx
and ecx, dword [ebp + 8]
mov dword [esp + 0x4c], ecx
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [ecx*8 + 0x10095838]
mov dword [esp + 0x14], edx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
shr eax, 0xe
mov ecx, dword [ecx]
and eax, 0x3ff
and ecx, 7
movlpd qword [esp + 0x20], xmm0
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + 0x10094838]
mov dword [esp + 0x44], eax
mov eax, dword [ebx]
and eax, 7
lea ecx, [eax + ecx*8]
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], esi
mov eax, dword [ecx + 0x70]
sub eax, edx
mov edx, dword [esp + 0x24]
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [esp + 0x58], eax
sete al
or ecx, eax
or ecx, dword [edx + 0x44]
or ecx, dword [edx + 0x24]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x10061d65
cmp dword [edx + 0x2c], 0
jne 0x10061b88
push 0
push 5
mov ecx, edx
call fcn.100703a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x58], 0
je case.default.0x10061dc0
push 0x10
push edx
lea ecx, [esp + 0x24]
call fcn.100612e0
mov ecx, eax
test ecx, ecx
jne 0x10061f14
mov edx, dword [esp + 0x24]
test byte [edx + 0x10], 1
je 0x10061c4b
movups xmm0, xmmword [edi]
mov eax, dword [ebp + 0x14]
mov ecx, dword [edx + 0x4c]
movups xmmword [esp + 0x70], xmm0
push 0
movups xmm0, xmmword [ebx]
push 6
mov dword [esp + 0x70], ecx
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0x18]
movups xmmword [esp + 0x98], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0xb8], xmm0
movups xmm0, xmmword [eax + 0x20]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x48]
mov dword [esp + 0x6c], eax
mov al, byte [edx + 0x38]
mov byte [esp + 0x40], al
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x48]
mov eax, dword [edx + 0x64]
movups xmmword [esp + 0xd4], xmm0
call eax
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x10061f14
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax*8 + 0x10095838]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x10094838]
mov dword [esp + 0x4c], eax
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x10061d19
mov eax, dword [esp + 0x4c]
and ecx, 0x30000
shr eax, 0x10
test al, 1
jne 0x10061c99
test ecx, ecx
jne 0x10061ca4
mov ecx, 0x21
jmp 0x10061f14
lea eax, [edx + 0x48]
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x10061d08
mov ecx, dword [esp + 0x20]
shr ecx, 0x10
test cl, 1
je 0x10061cc5
mov eax, dword [esp + 0x4c]
shr eax, 0x11
test al, 1
jne 0x10061cc5
mov ecx, 0x22
jmp 0x10061f14
mov eax, dword [esp + 0x20]
shr eax, 0x11
test al, 1
je 0x10061ce5
mov eax, dword [esp + 0x4c]
shr eax, 0x12
test al, 1
jne 0x10061ce5
mov ecx, 0x23
jmp 0x10061f14
mov eax, dword [esp + 0x1c]
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
lea ecx, [edx + 0x48]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
jmp 0x10061d1c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
jmp 0x10061d1c
lea ecx, [edx + 0x48]
test dword [esp + 0x20], 0xc000
je 0x10061d65
mov eax, dword [esp + 0x4c]
shr eax, 0xe
test al, 1
je 0x10061dc7
mov eax, dword [ecx]
test eax, eax
je 0x10061d4c
shr eax, 8
test al, 0xf
jne 0x10061dc7
cmp dword [edx + 0x4c], 1
jne 0x10061dc7
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shr ecx, 0xf
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x18], 0
movzx eax, byte [edx*8 + 0x1009583e]
mov ecx, dword [eax*4 + 0x10098c30]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [edx*8 + 0x1009583d]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
movzx edx, byte [eax + 4]
mov dword [esp + 0x38], edx
cmp edx, 0xa0
mov edx, dword [esp + 0x24]
ja case.default.0x10061dc0
mov ebx, dword [esp + 0x38]
jmp dword [ebx*4 + 0x10068184]
mov ecx, 0x24
jmp 0x10061f14
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
jmp case.0x10061dc0.63
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10061dc0
lea ecx, [esp + 0x10]
call fcn.10061670
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942d0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068720
mov edx, dword [esp + 0x10]
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 0x10065cdb
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0x10]
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.10061810
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 0x100645e8
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10060fd0
mov ecx, dword [esp + 0x24]
movzx eax, al
movzx esi, byte [eax + 0x10094338]
call fcn.100615e0
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068760
jmp case.0x10061dc0.1
test esi, esi
je case.0x10061dc0.1
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
test eax, eax
je case.0x10061dc0.1
mov ecx, 0x1a
mov eax, dword [esp + 0x24]
push 0
push ecx
mov ecx, eax
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x50], 0
call fcn.100703a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x10061dc0.1
cmp esi, 9
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
cmp eax, 2
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
jmp case.0x10061dc0.1
test esi, esi
je case.0x10061dc0.1
cmp esi, 2
jne case.default.0x10061dc0
xor edx, edx
mov ecx, edi
call fcn.10061740
test al, al
je case.default.0x10061dc0
mov esi, edi
mov ecx, esi
call fcn.10060f30
mov ecx, eax
call fcn.10061060
mov ecx, esi
movzx ebx, byte [eax + 0x10094338]
call fcn.10060f30
mov ecx, eax
call fcn.10061080
test al, al
jne case.default.0x10061dc0
test bl, 2
jne case.default.0x10061dc0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100617e0
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061680
mov edi, eax
mov ecx, edi
call fcn.100617b0
test al, al
jne 0x10065cdb
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10068720
mov ecx, esi
call fcn.10060f30
mov ecx, eax
call fcn.100615a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061870
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.100615e0
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068760
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061810
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.100618d0
jmp 0x10068151
mov ebx, dword [ebp + 0x10]
cmp esi, 3
jne 0x10062087
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061dc0.1
cmp esi, 0x19
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
mov ecx, ebx
jmp 0x10062065
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.0x10061dc0.11
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
jmp case.0x10061dc0.11
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa1f8]
or eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, 1
je case.0x10061dc0.63
mov ebx, edi
cmp esi, 2
je 0x10062122
jmp case.default.0x10061dc0
mov ebx, dword [ebp + 0x10]
cmp esi, 0x4a
jne case.0x10061dc0.14
mov edx, 2
mov ecx, ebx
call fcn.10061530
test al, al
je case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061530
test al, al
je case.default.0x10061dc0
mov ebx, edi
mov edi, dword [esp + 0x24]
mov ecx, ebx
call fcn.10060f40
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100616f0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061060
mov ecx, ebx
movzx eax, byte [eax + 0x10094338]
mov dword [esp + 0x3c], eax
call fcn.10060f30
mov ecx, eax
call fcn.100615a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061870
lea ecx, [esp + 0x1c]
call fcn.10061100
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.100615e0
test dword [esp + 0x3c], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10068760
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100617e0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060f30
mov ecx, eax
call fcn.10061070
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 + 0x50], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x14]
shr edx, 1
and edx, dword [esp + 0x40]
mov dword [esp + 0x54], edx
call fcn.10061680
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.100617b0
test al, al
jne 0x10065cdb
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068720
push dword [esp + 0x10]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10061810
jmp 0x100673c1
cmp esi, 2
jne case.default.0x10061dc0
mov ebx, edi
mov edi, edx
jmp 0x10062126
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x10061dc0.1
push 0x11f
lea ecx, [esp + 0x14]
call fcn.100616b0
mov dword [esp + 0x14], 0
cmp esi, 1
jne 0x10062291
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 2
jne 0x100622ac
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
jmp 0x10062120
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
cmp esi, 9
jne 0x100622dd
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0xa
jne case.default.0x10061dc0
jmp 0x10062120
cmp esi, 2
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10061060
mov ecx, edi
movzx ebx, byte [eax + 0x10094338]
call fcn.10060f30
mov ecx, eax
call fcn.10061080
test al, al
jne case.default.0x10061dc0
test bl, 2
jne case.default.0x10061dc0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100617e0
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061680
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.100617b0
test al, al
jne 0x10065cdb
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068720
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10060f30
mov ecx, eax
call fcn.100615a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061870
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.100615e0
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068760
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061810
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, 3
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.100618d0
jmp 0x10068151
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x10062446
mov edx, 2
mov ecx, ebx
call fcn.10061530
test al, al
je case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061530
test al, al
je case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.100614a0
jmp 0x1006242e
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa1f8]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100624a0
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10062509
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, 2
jne 0x100624f3
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068740
jmp case.0x10061dc0.63
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.100687b0
jmp case.0x10061dc0.63
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 2
jne 0x10062539
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068740
jmp 0x10062122
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.100687b0
jmp 0x10062122
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa1f8]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100655bc
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10061dc0.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10062682
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne 0x10064efc
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne 0x1006264f
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062605
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10062614
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062640
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x1006264f
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10068710
test al, al
je case.0x10061dc0.63
push 2
lea ecx, [esp + 0x14]
call fcn.10061640
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034d01
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x10062701
push 2
lea ecx, [esp + 0x14]
call fcn.10061640
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10062122
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100626ed
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10062122
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
jmp 0x10062122
cmp esi, 0xa
jne 0x10062772
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10062120
mov ecx, ebx
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x1006275e
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10062120
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
jmp 0x10062120
push 0x80
lea ecx, [esp + 0x14]
call fcn.100616b0
cmp esi, 0x19
jne 0x100629ad
mov ecx, edi
call fcn.10060fa0
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
cmp eax, 1
jne 0x10062802
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x100627ec
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
mov bl, 1
jmp 0x100628fe
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
mov bl, 1
jmp 0x100628fe
cmp eax, 2
jne 0x1006281a
push 0x200000
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp 0x100628b4
cmp eax, 4
jne 0x10062839
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687d0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100628b4
cmp eax, 8
jne 0x100628b4
cmp dword [esp + 0x58], 0x15
jne 0x1006285d
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687e0
add esp, 8
test al, al
je 0x1006285d
mov bl, 1
jmp 0x1006285f
xor bl, bl
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100686a0
add esp, 8
test al, al
jne 0x10062888
test bl, bl
jne 0x1006289b
mov ecx, 0x32
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
test bl, bl
je 0x100628a6
mov ecx, dword [esp + 0x24]
push 1
call fcn.100612c0
test al, al
je 0x100628a6
mov eax, 4
mov dword [esp + 0x44], eax
jmp 0x100628aa
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x14]
call fcn.100687b0
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
lea ecx, [esp + 0x44]
call fcn.10068700
push dword [esp + 0x2c]
mov bl, al
push dword [esp + 0x2c]
mov byte [esp + 0x38], bl
call fcn.10068670
add esp, 8
test al, al
je 0x10062902
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
mov byte [esp + 0x30], bl
cmp dword [esp + 0x18], 0
jne 0x10062975
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x10062917
cmp bl, 1
je 0x10062979
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
jne 0x10062975
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x44], 1
setne cl
shl eax, 3
add ecx, 4
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100616e0
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
lea ecx, [esp + 0x44]
call fcn.10068700
mov byte [esp + 0x30], al
jmp case.0x10061dc0.1
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x1006299c
xor eax, eax
lea ecx, [esp + 0x10]
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
call fcn.10061640
jmp case.0x10061dc0.63
xor eax, eax
lea ecx, [esp + 0x10]
push eax
call fcn.10061640
jmp case.0x10061dc0.63
cmp esi, 0x1a
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov dword [esp + 0x4c], eax
test eax, eax
je 0x10064df1
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov esi, eax
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x38]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x4c]
mov dword [esp + 0x38], 4
call fcn.10068700
cmp dword [esp + 0x4c], 4
mov bl, al
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
jne 0x10062a1c
push dword [esp + 0x2c]
push esi
call fcn.100687d0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068670
add esp, 8
test al, al
je 0x10062a53
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
movzx ebx, bl
mov edx, 1
cmove ebx, edx
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
xor eax, eax
cmp dword [esp + 0x4c], 1
je 0x10062a69
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
lea ecx, [esp + 0x14]
call fcn.10061640
push dword [esp + 0x4c]
lea ecx, [esp + 0x14]
call fcn.10068770
jmp 0x10062120
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
cmp eax, esi
je case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov edi, dword [esp + 0x24]
jmp 0x10064fa1
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
cmp esi, 9
jne 0x10062af6
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0xa
jne 0x10062b1a
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, ebx
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062120
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
lea ecx, [esp + 0x10]
call fcn.100615a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10062436
cmp esi, 0x1a
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
test eax, eax
je 0x10064df1
jmp 0x10062120
cmp esi, 1
je 0x10062436
mov ebx, edi
cmp esi, 2
je 0x10062122
push 0xe8
lea ecx, [esp + 0x14]
call fcn.100616b0
mov dword [esp + 0x14], 0
jmp 0x1006349d
mov ebx, dword [ebp + 0x10]
test esi, 0x1c0
je 0x10062bec
mov ecx, dword [ebp + 0x14]
call fcn.10060fe0
test al, al
je case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
and esi, 0x3f
cmp esi, 9
jne 0x10062cbc
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne 0x10064efc
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne case.0x10061dc0.63
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10062c6d
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10062c7c
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10062ca8
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp case.0x10061dc0.63
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
jmp case.0x10061dc0.63
cmp esi, 0xa
jne case.default.0x10061dc0
jmp 0x10062706
cmp esi, 0x4a
jne case.0x10061dc0.14
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10060f60
test al, al
je case.default.0x10061dc0
lea ecx, [ebx + 0x10]
call fcn.10060f60
jmp 0x10062118
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.100687b0
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10062d9b
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10062d74
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062d5d
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061dc0.63
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10061dc0.63
mov ecx, ebx
call fcn.10060fa0
cmp eax, 2
jne 0x10062d8b
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068740
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
jmp case.0x10061dc0.63
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
test eax, eax
je 0x10064df1
mov ecx, ebx
call fcn.10060fa0
cmp eax, 2
jne 0x10062dca
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068740
mov ecx, ebx
call fcn.10060fa0
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061640
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 0x1b
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.100686e0
mov ecx, ebx
mov di, ax
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
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.0x10061dc0.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10062ee4
push 0x6b
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
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.10068670
add esp, 8
test al, al
je 0x10062ea6
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
je 0x10062ec9
push 2
lea ecx, [esp + 0x14]
call fcn.100616c0
mov ecx, edi
call fcn.10060fa0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0xd1
jne 0x10062fad
push 0x6b
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
call fcn.10060fa0
cmp eax, 4
jne 0x10062f50
push dword [esp + 0x2c]
push esi
call fcn.100687d0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068670
add esp, 8
test al, al
je 0x10062f76
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
je 0x10062f9d
push 2
lea ecx, [esp + 0x14]
call fcn.100616c0
mov ecx, edi
call fcn.10060fa0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
cmp esi, 9
jne 0x10063014
mov ecx, ebx
call fcn.10060fa0
cmp eax, 1
je 0x10063128
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne 0x10064efc
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x10063058
mov ecx, ebx
call fcn.10060fa0
cmp eax, 1
je 0x10063185
mov ecx, edi
call fcn.10060fb0
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
jmp 0x10062122
cmp esi, 0x19
jne case.0x10061dc0.13
push 0x6b
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
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.10060fa0
cmp eax, 4
jne 0x100630ba
push ebx
push esi
call fcn.100687d0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068670
add esp, 8
test al, al
je 0x100630e0
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
je 0x10063103
push 2
lea ecx, [esp + 0x14]
call fcn.100616c0
mov ecx, edi
call fcn.10060fa0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp case.0x10061dc0.63
mov ebx, dword [ebp + 0x10]
cmp esi, 7
jbe case.0x10061dc0.12
cmp esi, 9
jne 0x10063180
xor edx, edx
mov ecx, edi
call fcn.10061510
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10061490
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x1006316c
cmp dword [esp + 0x18], 4
jmp 0x10062c90
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x1006319b
xor edx, edx
mov ecx, edi
call fcn.10061510
test al, al
je case.default.0x10061dc0
jmp 0x10062122
cmp esi, 0x49
jne 0x100631da
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x89
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ebx, dword [ebp + 0x14]
jmp 0x10062122
cmp esi, 1
jne 0x10063264
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, esi
jne case.0x10061dc0.63
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x1006316c
cmp dword [esp + 0x18], 4
jmp 0x10062c90
cmp esi, 2
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
test eax, eax
je 0x10064df1
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0x19
jne 0x10063303
mov ecx, edi
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10060fa0
mov ecx, dword [esp + 0x3c]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100617d0
add eax, esi
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068800
jmp case.0x10061dc0.1
cmp esi, 9
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
cmp eax, 2
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061640
jmp 0x100632ed
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061dc0
mov edx, 7
mov ecx, edi
call fcn.10061740
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
cmp eax, 2
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov ebx, eax
test ebx, ebx
je 0x10064df1
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.10061640
push ebx
lea ecx, [esp + 0x14]
call fcn.10068800
jmp 0x10061f8f
cmp esi, 1
jne 0x10063264
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, esi
jne 0x100633f8
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062d5d
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061dc0.63
mov ecx, dword [esp + 0x24]
call fcn.10061280
test al, al
je 0x1006341c
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x100632e3
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
jmp case.0x10061dc0.63
cmp esi, 3
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061dc0.1
test byte [esp + 0x20], 0xc0
je 0x10063493
push 0x10
mov ecx, edx
call fcn.100612c0
test al, al
je 0x10063493
mov ecx, dword [esp + 0x20]
mov edx, 0x40
call fcn.10068710
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x38], al
push dword [esp + 0x38]
call fcn.10068740
mov dword [esp + 0x14], 0
mov ebx, edi
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065cdb
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov edi, dword [esp + 0x24]
mov cl, dl
or cl, 0x40
mov dword [esp + 0x50], edx
mov byte [eax], cl
xor eax, eax
mov ecx, dword [esp + 0x1c]
test edx, edx
setne al
add ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x40], ecx
xor ecx, ecx
movzx eax, byte [eax + 7]
mov esi, dword [eax*4 + 0x10095618]
mov eax, dword [esp + 0x10]
and eax, 0x1f00
mov dword [esp + 0x4c], esi
cmp eax, 0x100
sete cl
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
add eax, 5
add ecx, eax
mov eax, dword [ebx]
and al, 7
mov dword [esp + 0x44], ecx
mov ecx, ebx
cmp al, 4
jne 0x10063712
lea esi, [edi + 0x2c]
call fcn.10060f30
mov ecx, dword [esi]
push eax
call fcn.10061200
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x10067cb9
push dword [edi + 0x68]
lea eax, [edi + 0x68]
mov ecx, ebx
mov dword [esp + 0x5c], eax
call fcn.100611a0
test al, al
je 0x10063638
mov ecx, ebx
call fcn.100611b0
mov esi, eax
mov eax, dword [esp + 0x44]
sub esi, dword [esp + 0x40]
sub esi, eax
jmp 0x100637c0
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x100635fa
mov edx, 1
mov ecx, edi
call fcn.10061000
test al, al
je case.default.0x10061dc0
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.10061280
test al, al
je 0x100635b1
mov ecx, edi
call fcn.10060fa0
cmp eax, 2
je 0x100635c8
mov ecx, esi
call fcn.10061290
test al, al
je 0x100635e1
mov ecx, edi
call fcn.10060fa0
cmp eax, 4
jne 0x100635e1
mov al, 1
lea ecx, [esp + 0x1c]
push eax
call fcn.10068760
mov dword [esp + 0x14], 0
jmp 0x1006349d
xor al, al
lea ecx, [esp + 0x1c]
push eax
call fcn.10068760
mov dword [esp + 0x14], 0
jmp 0x1006349d
mov ebx, edi
mov dword [esp + 0x14], 0
jmp 0x1006349d
cmp esi, 1
je 0x10062436
mov ebx, edi
cmp esi, 2
je 0x10062122
push 0xe9
lea ecx, [esp + 0x14]
call fcn.100616b0
mov dword [esp + 0x14], 0
jmp 0x1006349d
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10063682
cmp dword [esp + 0x10], 0
je 0x1006365d
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10068710
test al, al
je 0x1006367f
mov eax, dword [esp + 0x4c]
push eax
lea ecx, [esp + 0x20]
lea ebx, [edi + 0x2c]
call fcn.10068740
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x4c], 1
jmp 0x10067da5
lea esi, [edi + 0x2c]
cmp dword [esp + 0x10], 0
lea eax, [edi + 0x68]
mov dword [esp + 0x38], esi
mov dword [esp + 0x58], eax
je 0x100637ab
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10068710
test al, al
jne 0x100637ab
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100616f0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068720
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068740
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10068720
mov dword [esp + 0x44], 0xfffffffc
mov ebx, esi
jmp 0x10067d9d
call fcn.10060f80
test al, al
je case.default.0x10061dc0
mov ecx, edi
call fcn.10061270
mov ecx, eax
call fcn.100611d0
mov ecx, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], edx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0x38]
mov ecx, edx
and ecx, dword [esp + 0x48]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], eax
cmp ecx, 0xffffffff
je 0x100638b6
mov esi, ebx
mov ecx, edi
sub esi, dword [esp + 0x44]
mov ebx, eax
sbb ebx, 0
sub esi, edx
sbb ebx, dword [esp + 0x48]
sub esi, dword [esp + 0x40]
sbb ebx, 0
call fcn.100612a0
mov cl, al
call fcn.100610e0
test al, al
jne 0x100637bc
push ebx
push esi
call fcn.100686a0
add esp, 8
test al, al
jne 0x100637bc
mov ecx, dword [esp + 0x58]
call fcn.10061720
test al, al
jne 0x100638ae
mov ecx, 0x30
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov eax, dword [esp + 0x44]
add eax, 0xfffffffe
add eax, esi
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.100688a0
test al, al
je 0x10063818
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x10063818
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
jne 0x10063818
mov edx, 0x10
lea ecx, [esp + 0x20]
call fcn.10061250
push ebx
lea ecx, [esp + 0x20]
call fcn.10068740
push dword [esp + 0x38]
lea ecx, [esp + 0x20]
call fcn.10068740
jmp 0x10068151
cmp dword [esp + 0x10], 0
je 0x100637ab
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10068710
test al, al
jne 0x100637ab
mov ecx, 0x10
call fcn.10061220
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10061260
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100616f0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068720
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068740
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10068720
push esi
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x10068151
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.10069510
mov ecx, eax
test ecx, ecx
jne 0x10061f14
mov ecx, edi
call fcn.100612d0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10061100
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ecx
cmp dword [esp + 0x10], 0
je 0x100639ef
mov ecx, edi
call fcn.100612a0
mov cl, al
call fcn.100610f0
test al, al
je 0x1006395f
mov ecx, dword [esp + 0x58]
call fcn.10061720
test al, al
je 0x1006395f
cmp dword [esp + 0x50], 0
jne 0x1006393d
push 0x40
lea ecx, [esp + 0x20]
call fcn.10068740
push dword [esp + 0x3c]
mov ecx, dword [edi + 0x2c]
push ebx
call fcn.10068f90
mov ecx, eax
test ecx, ecx
jne 0x10061f14
mov eax, dword [esp + 0x54]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100616f0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068720
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068740
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10068720
mov ecx, dword [esp + 0x54]
push 4
push 0
lea ecx, [ecx + 8]
call fcn.10061130
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100613f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061160
push 0
lea ecx, [esp + 0x20]
call fcn.100688b0
jmp 0x10068151
push esi
lea ecx, [esp + 0x20]
call fcn.10068740
mov ecx, dword [esp + 0x54]
push 1
push 0
lea ecx, [ecx + 8]
call fcn.10061130
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100613f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061160
push 0
lea ecx, [esp + 0x20]
call fcn.10068740
jmp 0x10068151
mov ebx, dword [ebp + 0x10]
cmp esi, 2
jne 0x10063a92
mov ecx, edi
mov ebx, edi
call fcn.10060fa0
mov edi, dword [esp + 0x24]
mov esi, eax
test esi, esi
jne 0x10063a67
mov ecx, edi
call fcn.100612b0
mov esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.10068770
jmp 0x10062126
sub esi, 2
cmp esi, 2
je 0x10063a83
cmp esi, 4
je 0x10063a83
mov ecx, edi
call fcn.100612b0
cmp esi, eax
jne 0x10064210
push esi
lea ecx, [esp + 0x14]
call fcn.10068770
jmp 0x10062126
cmp esi, 0x1b
jne case.default.0x10061dc0
mov ecx, edx
call fcn.10061280
test al, al
je case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, ebx
mov esi, eax
call fcn.10060f30
mov ecx, esi
mov edi, eax
call fcn.100610d0
test edx, edx
jg 0x10062877
jl 0x10063ad8
cmp eax, 0xffff
ja 0x10062877
mov ecx, edi
call fcn.100610d0
test edx, edx
jg 0x10062877
jl 0x10063af2
cmp eax, 0xffffffff
ja 0x10062877
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, esi
call fcn.100610d0
mov ecx, edi
mov esi, eax
call fcn.100610d0
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x10061dc0.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10063d84
mov ecx, edi
call fcn.10060fe0
mov ecx, edi
test al, al
je 0x10063d0a
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fe0
test al, al
je 0x10063c68
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne case.default.0x10061dc0
cmp esi, 1
jne 0x10063c4b
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10063be0
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10063bef
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10063c29
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
push 0x88
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x1006264f
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
lea ecx, [esp + 0x10]
push 0x88
call fcn.100616b0
jmp 0x1006264f
push 0x89
lea ecx, [esp + 0x14]
call fcn.100616b0
push esi
lea ecx, [esp + 0x14]
call fcn.10068770
jmp 0x1006264f
mov ecx, ebx
call fcn.100614e0
test al, al
je 0x10063c9b
push 0x8c
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
dec dword [esp + 0x14]
jmp case.0x10061dc0.63
mov ecx, ebx
call fcn.100614f0
test al, al
je 0x10063ce8
push 0x120
lea ecx, [esp + 0x14]
call fcn.100616b0
test byte [esp + 0x14], 8
je case.0x10061dc0.63
mov ecx, dword [esp + 0x24]
call fcn.10061280
test al, al
je case.0x10061dc0.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10068740
and dword [esp + 0x14], 7
jmp case.0x10061dc0.63
mov ecx, ebx
call fcn.10061500
test al, al
je case.default.0x10061dc0
push 0x121
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp case.0x10061dc0.63
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fe0
test al, al
je case.default.0x10061dc0
mov ecx, edi
call fcn.100614e0
test al, al
je 0x10063d4d
push 0x8e
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, ebx
jmp 0x10063c83
mov ecx, edi
call fcn.100614f0
test al, al
je 0x10063d62
push 0x122
jmp 0x10063cab
mov ecx, edi
call fcn.10061500
test al, al
je case.default.0x10061dc0
push 0x123
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x10063ea5
mov ecx, edi
call fcn.10060fb0
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x34], esi
call fcn.100614e0
lea ecx, [esp + 0x10]
test al, al
je 0x10063dd1
push 0x8e
call fcn.100616b0
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
dec dword [esp + 0x14]
jmp 0x10062122
push 0
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
cmp dword [esp + 0x14], 0
jne 0x10063e3d
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061030
test al, al
jne 0x10063e3d
mov ecx, ebx
call fcn.10060f30
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10060fa0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10061930
add esp, 0xc
test al, al
je 0x10063e3d
push 0xa0
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x1006428d
mov ecx, edi
call fcn.10060fa0
cmp eax, 1
jne 0x10063e92
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10063e83
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
push 0x8a
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x10062122
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
push 0x8a
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x10062122
cmp esi, 0xa
jne 0x10063fcc
mov ecx, ebx
call fcn.10060fb0
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x34], esi
call fcn.100614e0
lea ecx, [esp + 0x10]
test al, al
je 0x10063ef4
push 0x8c
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10062122
push 0
call fcn.100616b0
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
cmp dword [esp + 0x14], 0
jne 0x10063f60
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10061030
test al, al
jne 0x10063f60
mov ecx, edi
call fcn.10060f30
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10060fa0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10061930
add esp, 0xc
test al, al
je 0x10063f60
push 0xa2
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x1006428d
mov ecx, ebx
call fcn.10060fa0
cmp eax, 1
jne 0x10063fb7
mov ecx, ebx
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10063fa8
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
push 0x88
lea ecx, [esp + 0x14]
call fcn.10061640
mov ebx, esi
jmp 0x10062122
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x14]
call fcn.10061640
mov ebx, esi
jmp 0x10062122
cmp esi, 0x19
jne 0x1006410d
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
mov byte [esp + 0x30], al
cmp al, 1
jne 0x10064058
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10064018
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10064027
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
mov edi, dword [esp + 0x24]
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10064fa1
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x100640ad
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
jne 0x100640ad
push ebx
push esi
call fcn.100687e0
add esp, 8
test al, al
je 0x100640d1
mov ecx, dword [esp + 0x24]
push 1
call fcn.100612c0
test al, al
je 0x100640d1
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x14]
call fcn.100616b0
push dword [esp + 0x30]
lea ecx, [esp + 0x14]
call fcn.10068820
mov edi, dword [esp + 0x24]
jmp 0x10064fa1
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100686a0
add esp, 8
test al, al
je 0x100640ad
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100616b0
mov dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x10061dc0.63
cmp esi, 0x1a
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov dword [esp + 0x48], eax
test eax, eax
je 0x10064df1
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x14]
call fcn.100616b0
push dword [esp + 0x48]
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, ebx
mov dword [esp + 0x14], 0
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x48]
lea edx, [esp + 0x50]
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], 4
call fcn.10068700
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x10064221
mov ecx, edi
call fcn.10060fb0
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10060fc0
test al, al
je case.default.0x10061dc0
cmp dword [esp + 0x14], 0
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061030
test al, al
jne 0x10064210
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061570
cmp eax, 2
jne 0x1006428d
mov ecx, 0x2b
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
cmp esi, 0xa
jne 0x100642d3
mov ecx, ebx
call fcn.10060fb0
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.100616b0
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fc0
test al, al
je case.default.0x10061dc0
cmp dword [esp + 0x14], 0
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10061030
test al, al
jne 0x10064210
mov ecx, esi
call fcn.10060f30
mov ecx, eax
call fcn.100610a0
mov ecx, dword [esp + 0x24]
mov esi, eax
mov edi, edx
call fcn.100612b0
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x30], al
call fcn.10060f30
mov ecx, eax
call fcn.100615a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061870
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10061dc0.1
cmp esi, 0x19
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10061480
test al, al
je case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
push 0xb8
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100616b0
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
push 8
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10068840
mov edi, dword [esp + 0x24]
jmp 0x10064fa1
mov ebx, dword [ebp + 0x10]
xor eax, eax
movzx ecx, byte [edi + 3]
and ecx, 0xf
cmp byte [ebx + 3], 1
setne al
add eax, dword [esp + 0x34]
or eax, dword [ecx*4 + 0x100aa1f8]
mov dword [esp + 0x10], eax
cmp esi, 9
jne 0x100624a0
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, 1
jne case.0x10061dc0.63
jmp 0x10062d31
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10061480
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068850
mov ecx, ebx
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, ebx
mov esi, eax
call fcn.10060f30
mov ecx, eax
call fcn.10060fd0
mov ecx, esi
mov bl, al
call fcn.10060fd0
cmp al, bl
jne case.default.0x10061dc0
mov ecx, esi
call fcn.10061020
test al, al
jne case.default.0x10061dc0
mov ecx, esi
call fcn.10061080
test al, al
jne case.default.0x10061dc0
mov ecx, esi
call fcn.10061590
test al, al
je 0x1006442d
mov ecx, esi
call fcn.100615a0
cmp eax, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 0xb
jne 0x10064499
mov ecx, ebx
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
mov ecx, dword [esp + 0x3c]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100617d0
add eax, esi
lea ecx, [esp + 0x10]
push eax
call fcn.100616b0
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068800
jmp 0x10062063
cmp esi, 9
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
cmp eax, 2
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061640
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068800
jmp case.0x10061dc0.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
cmp eax, 2
jne case.default.0x10061dc0
lea edx, [eax + 4]
mov ecx, ebx
call fcn.10061740
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
mov edi, eax
test edi, edi
je 0x10064df1
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.10061640
push edi
lea ecx, [esp + 0x14]
call fcn.10068800
jmp 0x10061f8f
cmp esi, 1
jne 0x10064606
mov ecx, edi
call fcn.100614e0
test al, al
je 0x100646b3
mov ecx, edi
call fcn.10060fb0
cmp eax, 7
jae 0x100646a2
push dword [eax*4 + 0x10094318]
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942d0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068720
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065cdb
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0x10]
test edx, edx
lea ecx, [esp + 0x20]
setne al
add dword [esp + 0x20], eax
call fcn.10061810
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100618d0
mov edi, dword [esp + 0x24]
jmp 0x10068151
cmp esi, 3
jne 0x100646fb
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
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.10068670
add esp, 8
test al, al
je 0x1006465c
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
mov byte [esp + 0x30], bl
xor eax, eax
cmp bl, 1
sete al
lea eax, [eax*2 + 0x68]
push eax
jmp 0x10064580
cmp esi, 1
jne 0x100646fb
mov ecx, edi
call fcn.100614e0
test al, al
je 0x100646b3
mov ecx, edi
call fcn.10060fb0
cmp eax, 2
je 0x100646a2
cmp eax, 7
jae 0x100646a2
push dword [eax*4 + 0x10094800]
jmp 0x10064580
mov ecx, 0x31
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov ecx, edi
call fcn.10060fa0
cmp eax, 2
jb case.default.0x10061dc0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068800
mov ecx, edi
call fcn.10060fb0
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x10064fa1
cmp esi, 2
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
test eax, eax
je 0x10064df1
mov ecx, edi
call fcn.10060fa0
cmp eax, esi
je 0x10064738
mov ecx, edi
call fcn.10060fa0
mov ecx, dword [esp + 0x24]
mov esi, eax
call fcn.100612b0
cmp esi, eax
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068800
jmp 0x10062120
test esi, esi
jne 0x10064762
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
jmp case.0x10061dc0.1
cmp esi, 3
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x100647a9
mov ecx, dword [esp + 0x20]
lea edx, [esi + 0x20]
call fcn.10068710
test al, al
jne 0x100647a9
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
jmp case.0x10061dc0.1
mov byte [esp + 0x30], 2
jmp case.0x10061dc0.1
mov eax, dword [edi]
mov ecx, edi
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x10064897
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10064821
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006480f
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006481d
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10064846
mov ecx, ebx
call fcn.10060fb0
cmp eax, 1
jne case.default.0x10061dc0
push 2
lea ecx, [esp + 0x14]
call fcn.10061640
jmp case.0x10061dc0.63
cmp esi, 0x19
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], dl
cmp eax, 1
jne 0x10064887
mov ecx, dword [esp + 0x20]
lea edx, [esi + 7]
call fcn.10068710
test al, al
je case.0x10061dc0.63
push 0x10
lea ecx, [esp + 0x14]
call fcn.100616c0
jmp 0x10061e11
call fcn.10060fa0
test eax, eax
je 0x10064df1
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
cmp esi, 0xa
jne 0x100648da
mov ecx, ebx
call fcn.10060fb0
cmp eax, 1
jne case.default.0x10061dc0
push 2
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x10062120
cmp esi, 0x1a
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
movzx eax, al
xor cl, cl
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x30], cl
cmp eax, 1
jne 0x10064921
mov ecx, dword [esp + 0x20]
lea edx, [esi + 6]
call fcn.10068710
test al, al
je 0x10062120
push 0x10
lea ecx, [esp + 0x14]
call fcn.100616c0
mov eax, 1
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
jmp 0x10062120
cmp esi, 1
jne case.0x10061dc0.14
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x1006497e
cmp eax, 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061dc0.63
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10061dc0.63
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x100649dd
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
jmp 0x10061e09
cmp esi, 0xca
jne 0x10064a29
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068770
mov ecx, ebx
call fcn.10060fb0
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
jmp 0x10062122
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
cmp esi, 0x49
jne 0x10064a51
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
cmp eax, 1
jne case.default.0x10061dc0
mov ecx, edi
jmp 0x10062acc
cmp esi, 0x4a
jne case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
cmp eax, 1
jne case.default.0x10061dc0
mov ecx, ebx
jmp 0x10062afb
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, ebx
mov esi, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
test eax, eax
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
xor edx, edx
mov ecx, eax
call fcn.10061000
test al, al
je case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov edi, eax
call fcn.10060f90
test al, al
je 0x10064ad1
mov ecx, ebx
call fcn.10060fa0
cmp eax, edi
jne 0x10064efc
push edi
lea ecx, [esp + 0x14]
call fcn.10068790
jmp 0x10061f8f
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, edi
mov esi, edi
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
test eax, eax
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060f30
xor edx, edx
mov ecx, eax
call fcn.10061000
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
mov ecx, edi
mov ebx, eax
call fcn.10060f90
test al, al
je 0x10064b3f
mov ecx, edi
call fcn.10060fa0
cmp eax, ebx
jne 0x10064efc
push ebx
lea ecx, [esp + 0x14]
call fcn.10068790
jmp 0x10061f8f
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060f30
mov ecx, eax
call fcn.10061060
mov ecx, ebx
mov esi, eax
call fcn.10060f30
mov ecx, eax
call fcn.10061060
cmp esi, eax
jne case.default.0x10061dc0
mov ecx, edi
mov esi, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061080
test al, al
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
mov ebx, eax
test ebx, ebx
je 0x10064df1
jmp 0x10064b30
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064c5c
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
jne 0x10064efc
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne case.0x10061dc0.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064c32
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10064c41
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062ca8
jmp 0x10062c8b
cmp esi, 0xa
jne 0x10064ca8
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10062120
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006275e
jmp 0x10062741
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
lea ecx, [esp + 0x10]
call fcn.100615a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10064ddd
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10064d50
mov ecx, edi
call fcn.10061470
lea ecx, [esp + 0x20]
test al, al
jne 0x10064d20
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061250
jmp 0x10064d2f
mov edx, Ordinal_2
call fcn.10061250
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10064d8a
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10060fa0
lea edx, [esp + 0x50]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
call fcn.10068700
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x10061dc0.63
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
jne case.0x10061dc0.63
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, edi
call fcn.10060fa0
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp case.0x10061dc0.1
cmp esi, 0x1a
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
test eax, eax
jne 0x10064dfb
mov ecx, 0x34
jmp 0x10061f14
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10060fa0
lea edx, [esp + 0x50]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
call fcn.10068700
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x10061dc0.61
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.10068790
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
cmp eax, 1
jne 0x10062122
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064eaf
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp 0x10062122
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065037
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
cmp esi, eax
je 0x10064f06
mov ecx, 0x35
jmp 0x10061f14
cmp esi, 1
je 0x10064c06
cmp dword [esp + 0x58], 0x668
jne 0x10065028
cmp dword [esp + 0x14], 0
je 0x10064f2f
cmp dword [esp + 0x18], 0
jne 0x10065028
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10061290
test al, al
je 0x10064f5d
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x10064f5d
cmp esi, 4
jb 0x10064f5d
cmp esi, 8
jne 0x10065028
push 0x8000000
jmp 0x10064f8a
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068710
test al, al
jne 0x10065028
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
add dword [esp + 0x14], eax
push esi
call fcn.10068790
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.100616d0
push 0x90
lea ecx, [esp + 0x14]
call fcn.100616e0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100617e0
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061680
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.100617b0
test al, al
jne 0x10065cdb
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068720
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10061640
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061810
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100618d0
jmp 0x10068151
push esi
lea ecx, [esp + 0x14]
call fcn.10068790
jmp case.0x10061dc0.63
cmp esi, 0xa
jne case.default.0x10061dc0
jmp 0x10064c61
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006509e
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068710
test al, al
je case.0x10061dc0.63
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034d01
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x100650b3
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, ebx
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065188
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x100651ad
test ecx, ecx
jne case.default.0x10061dc0
push 0xff
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.100616f0
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942d0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068720
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0x10]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], cl
inc dword [esp + 0x1c]
jmp 0x10068151
cmp esi, 2
je 0x100651d0
jmp case.default.0x10061dc0
test esi, esi
jne 0x1006519b
lea ecx, [esi + 1]
jmp 0x100651a9
cmp esi, 1
jne 0x100651c7
mov ecx, edi
call fcn.10060fb0
mov ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x10]
shr eax, 0xa
movzx eax, al
add eax, 0x36000
add eax, ecx
mov dword [esp + 0x10], eax
jmp case.0x10061dc0.65
cmp esi, 2
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
xor ecx, ecx
cmp eax, 4
setne cl
lea ecx, [ecx*4 + 0xd8]
push ecx
lea ecx, [esp + 0x14]
call fcn.100616b0
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.100616d0
jmp 0x10062120
cmp esi, 2
jne 0x100652a7
mov ecx, edi
mov ebx, edi
call fcn.10060fa0
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x10065232
push 0x1000
mov ecx, esi
call fcn.10061600
test al, al
jne 0x10062122
mov ecx, edi
call fcn.10060fa0
cmp eax, 8
jne 0x1006525e
push 0x2000
mov ecx, esi
call fcn.10061600
test al, al
je 0x1006525e
push 4
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x10062122
mov ecx, edi
call fcn.10060fa0
cmp eax, 0xa
jne case.default.0x10061dc0
push 0x800
mov ecx, esi
call fcn.10061600
test al, al
je case.default.0x10061dc0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
lea ecx, [esp + 0x10]
call fcn.100615a0
mov dword [esp + 0x14], eax
jmp 0x10062122
cmp esi, 1
jne case.default.0x10061dc0
mov eax, dword [esp + 0x58]
cmp eax, 0xce
jne 0x100652cc
mov ecx, edi
call fcn.10060fb0
add eax, 0x364c0
jmp 0x10065133
cmp eax, 0xec
jne 0x100652e4
mov ecx, edi
call fcn.10060fb0
add eax, 0x374d0
jmp 0x10065133
cmp eax, 0xef
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
add eax, 0x374d8
jmp 0x10065133
cmp esi, 2
jne case.default.0x10061dc0
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, edi
mov ebx, edi
call fcn.10060fa0
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10065349
push 0x800
mov ecx, esi
call fcn.10061600
test al, al
je 0x10065349
push 4
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x10062122
mov ecx, edi
call fcn.10060fa0
cmp eax, 4
jne 0x10065369
push 0x1000
mov ecx, esi
call fcn.10061600
test al, al
jne 0x10062122
mov ecx, edi
call fcn.10060fa0
cmp eax, 8
jne case.default.0x10061dc0
push 0x2000
mov ecx, esi
call fcn.10061600
test al, al
je case.default.0x10061dc0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
and eax, 0xffff1fff
lea ecx, [esp + 0x10]
push eax
call fcn.100616b0
lea ecx, [esp + 0x10]
call fcn.100615a0
mov dword [esp + 0x14], eax
jmp 0x10062122
test esi, esi
jne case.0x10061dc0.70
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
jmp case.0x10061dc0.65
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
push eax
lea ecx, [esp + 0x14]
call fcn.10061640
jmp case.0x10061dc0.65
cmp esi, 1
jne 0x1006540c
mov ecx, edi
call fcn.10060fb0
test eax, eax
jne case.default.0x10061dc0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
jmp 0x10065133
cmp esi, 2
jne case.default.0x10061dc0
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.100616d0
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x1006547e
mov ecx, ebx
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0xca
jne case.default.0x10061dc0
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, ebx
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov ecx, ebx
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10065520
mov ecx, ebx
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062adb
cmp esi, 0xca
jne case.default.0x10061dc0
jmp 0x1006549b
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065596
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068710
test al, al
je case.0x10061dc0.63
mov eax, dword [esp + 0x3c]
cmp byte [eax + 7], 0
je case.0x10061dc0.63
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034d01
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x100655ab
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062120
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x100655f2
mov ecx, edi
call fcn.10060fa0
cmp eax, 1
je case.default.0x10061dc0
jmp 0x10063b35
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
cmp eax, 1
je case.default.0x10061dc0
mov ecx, ebx
jmp 0x10062afb
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100656e8
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100614c0
test al, al
je 0x10065686
mov ecx, ebx
call fcn.100614c0
test al, al
je 0x10065686
push 0x16f
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068710
test al, al
je case.0x10061dc0.63
push 0x10
jmp 0x10062667
mov ecx, edi
call fcn.100614b0
test al, al
je 0x10065780
mov ecx, ebx
call fcn.100614b0
test al, al
je 0x10065780
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068710
test al, al
je case.0x10061dc0.63
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.100616b0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034d01
jmp case.0x10061dc0.63
cmp esi, 0x11
jne 0x10065734
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100614c0
test al, al
je 0x10065716
push 0x16f
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x10062122
mov ecx, edi
call fcn.100614b0
test al, al
je 0x10065780
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x10062122
cmp esi, 0xa
jne 0x10065780
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100614c0
test al, al
je 0x10065762
push 0x17f
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x10062120
mov ecx, ebx
call fcn.100614b0
test al, al
je 0x10065780
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x10062120
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.100616e0
mov eax, dword [edi + 4]
xor ecx, ecx
mov ebx, dword [ebp + 0x10]
mov edx, 0x200000
mov dword [esp + 0x14], eax
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x10000161
cmove ecx, edx
or dword [esp + 0x10], ecx
cmp esi, 9
jne 0x100657d2
mov ecx, ebx
call fcn.10060fe0
test al, al
je 0x100657db
mov ecx, ebx
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
je 0x10062122
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, ebx
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
cmp esi, 9
jne 0x100622dd
mov ecx, edi
call fcn.10060fe0
jmp 0x1006242e
mov ecx, dword [ebp + 0x14]
call fcn.10060f50
test al, al
jne 0x1006584e
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061550
test al, al
je case.default.0x10061dc0
and esi, 0x3f
jmp case.0x10061dc0.73
mov ecx, dword [ebp + 0x14]
call fcn.10060f50
test al, al
jne 0x1006584e
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.10061740
test al, al
je case.default.0x10061dc0
and esi, 0x3f
jmp case.0x10061dc0.73
mov ecx, dword [ebp + 0x10]
call fcn.10060fa0
cmp eax, 8
lea ecx, [esp + 0x10]
sete al
movzx eax, al
push eax
call fcn.10068850
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x8000000
cmp eax, 0x8000039
cmove ecx, edx
or dword [esp + 0x10], ecx
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100658c9
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
jne case.default.0x10061dc0
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065925
mov ecx, edi
call fcn.100614b0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100614b0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068870
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065975
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
je 0x10063b46
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
lea ecx, [esp + 0x10]
call fcn.100615a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065a17
mov ecx, edi
call fcn.100614b0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100614b0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068870
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
je 0x1006592e
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
lea ecx, [esp + 0x10]
call fcn.100615a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10061dc0
mov ecx, edi
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
jmp 0x100659a5
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
or ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065aa8
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0xd1
jmp 0x100624a3
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
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 + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065b1a
mov ecx, edi
call fcn.100614b0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100614b0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068870
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0xd1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.100614b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068860
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp 0x10062122
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10061dc0.63
cmp esi, 0xd9
jne case.default.0x10061dc0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100615a0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
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.0x10061dc0.63
mov ecx, dword [ebp + 0x18]
call fcn.10060f40
shl eax, 9
mov ecx, edi
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10060fb0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
cmp eax, 9
je case.0x10061dc0.63
cmp eax, 0x6c9
jne case.default.0x10061dc0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, dword [ebp + 0x18]
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
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.0x10061dc0.63
movzx eax, cl
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], eax
mov al, 1
push 0x10f
mov dword [esp + 0x30], 0
mov dword [esp + 0x44], eax
mov byte [esp + 0x34], al
call fcn.100616b0
mov ecx, edi
call fcn.10060fb0
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
cmp esi, 9
jne 0x10065ccd
mov ecx, ebx
call fcn.10060fb0
mov dword [esp + 0x18], eax
jmp case.0x10061dc0.63
cmp esi, 0x11
jne case.default.0x10061dc0
jmp 0x10062122
mov ecx, 0x25
jmp 0x10061f14
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 al, 1
je 0x10065d3a
push 0x18
lea ecx, [esp + 0x14]
call fcn.10061700
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10068750
mov edi, dword [esp + 0x24]
jmp 0x10068151
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068740
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068740
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068740
mov edi, dword [esp + 0x24]
jmp 0x10068151
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065e10
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060fe0
test al, al
je 0x10065db9
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp case.0x10061dc0.93
mov ecx, edi
call fcn.10060fe0
test al, al
je 0x10065ddd
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
inc eax
lea ecx, [esp + 0x10]
push eax
call fcn.100616b0
jmp case.0x10061dc0.93
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068710
test al, al
je case.0x10061dc0.93
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034d01
jmp case.0x10061dc0.93
cmp esi, 0x11
jne 0x10065e21
mov ecx, edi
call fcn.10060fb0
jmp 0x10066f8e
cmp esi, 0xa
jne case.default.0x10061dc0
push 1
lea ecx, [esp + 0x14]
call fcn.10061640
jmp 0x10066f85
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060f30
mov ecx, eax
call fcn.10061480
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068850
jmp case.0x10061dc0.93
cmp esi, 2
jne case.default.0x10061dc0
mov ebx, edi
jmp 0x10066f92
mov ecx, edi
call fcn.10060fa0
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov ecx, ebx
call fcn.10060fa0
or esi, eax
mov ecx, esi
call fcn.10061790
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov eax, dword [esp + 0x48]
cmp eax, 9
jne 0x10065ebb
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
jmp 0x10067eec
cmp eax, 0xa
jmp 0x10066f7f
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fa0
mov ecx, eax
call fcn.10061790
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.10061780
lea edx, [esp + 0x50]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
call fcn.100686f0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp 0x10066f85
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10065f58
push 0x2001c5
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061dc0.93
mov edx, dword [ebp + 0x14]
xor eax, eax
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 + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xca
jmp 0x10066f7f
mov ecx, edi
call fcn.10060fa0
mov ecx, dword [ebp + 0x10]
mov esi, eax
call fcn.10060fa0
or esi, eax
mov ecx, esi
call fcn.10061790
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
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 + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065f75
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10067ef5
mov ecx, dword [ebp + 0x14]
call fcn.10060f50
test al, al
jne 0x10066000
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.10061740
test al, al
je case.default.0x10061dc0
and esi, 0x3f
jmp case.0x10061dc0.103
mov ecx, edi
call fcn.10061480
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061480
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068880
jmp case.0x10061dc0.103
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
call fcn.10060fa0
test eax, eax
je 0x1006605b
mov ecx, ebx
call fcn.10060fa0
mov ecx, eax
call fcn.10061790
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp case.0x10061dc0.103
mov ecx, edi
call fcn.10060fa0
cmp eax, 0x20
jne case.0x10061dc0.103
push 0x40000000
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp case.0x10061dc0.103
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne case.0x10061dc0.106
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fe0
test al, al
je case.0x10061dc0.106
mov ecx, edi
call fcn.10060fa0
mov ecx, ebx
mov esi, eax
call fcn.10060fa0
or esi, eax
mov ecx, esi
call fcn.10061790
mov ecx, dword [esp + 0x3c]
mov esi, eax
call fcn.100617d0
or esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.100616b0
mov ecx, edi
call fcn.10060fb0
jmp 0x10067eea
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10066103
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067ef5
cmp esi, 0x11
jne case.default.0x10061dc0
mov eax, dword [edi + 4]
jmp 0x10066f8e
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov ecx, eax
call fcn.10061790
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10061780
lea edx, [esp + 0x50]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
call fcn.100686f0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, edi
call fcn.10060fb0
jmp 0x10066f8e
mov eax, dword [ebp + 0x18]
lea ecx, [eax + 0x10]
mov dword [esp + 0x48], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x34], esi
call fcn.10060ff0
mov ebx, dword [ebp + 0x10]
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10060ff0
test al, al
je case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
call fcn.10060ff0
test al, al
je case.default.0x10061dc0
mov ecx, dword [ebp + 0x18]
call fcn.10060ff0
test al, al
je case.default.0x10061dc0
mov ecx, dword [esp + 0x48]
call fcn.10060ff0
test al, al
je case.default.0x10061dc0
mov ecx, esi
call fcn.10060f70
test al, al
je case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10060fb0
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10060fb0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x50], eax
call fcn.10060fb0
mov edx, eax
test bl, 3
jne 0x10066231
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10066231
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10066231
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10066231
mov ecx, edi
call fcn.10060fb0
mov edx, ebx
mov ecx, eax
call fcn.10061770
mov ebx, dword [esp + 0x34]
jmp 0x10066f8e
mov ecx, 0x3c
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov eax, dword [edi]
xor edx, edx
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
mov ecx, 0x8000000
cmove edx, ecx
xor ecx, ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or edx, ecx
or edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
jmp case.0x10061dc0.111
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
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 + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x100662d3
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067ef5
cmp esi, 0xd1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
jmp 0x10066f8e
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10061dc0.115
mov edx, 2
mov ecx, eax
call fcn.10061000
test al, al
je case.default.0x10061dc0
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x8000000
cmp eax, 0x8000039
mov dword [esp + 0x50], edx
cmove ecx, edx
mov edx, dword [ebp + 0x14]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x50]
or ecx, eax
or dword [esp + 0x10], ecx
jmp 0x10066373
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x1000
cmp eax, 0x289
cmove ecx, edx
or dword [esp + 0x34], ecx
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066544
cmp esi, 0x89
jne case.default.0x10061dc0
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10066f8e
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
test al, 1
jne 0x10066424
mov ecx, edi
call fcn.10060fb0
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10060fb0
cmp esi, eax
jne 0x10066424
mov ecx, dword [ebp + 0x14]
call fcn.10060fa0
mov ecx, eax
call fcn.10061790
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060f60
mov ecx, ebx
test al, al
jne 0x10067ef0
call fcn.10060f70
test al, al
je case.default.0x10061dc0
jmp 0x10066f92
mov ecx, 0x1d
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x2c], 0
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, 1
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
cmp ecx, 0x249
jne 0x10066499
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x14]
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10067eec
cmp ecx, 0x289
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ebx, dword [ebp + 0x14]
jmp 0x10066f8e
mov ecx, edi
call fcn.100614d0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068890
jmp case.0x10061dc0.122
mov ecx, edi
call fcn.100614d0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068890
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or dword [esp + 0x10], eax
mov edx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [edx + 0xc]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], eax
xor eax, eax
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
cmp eax, 0x649
jne 0x1006655c
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 0x10067ef5
cmp eax, 0x689
jmp 0x1006649f
mov ecx, edi
call fcn.10061480
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10061480
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068880
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10067ed0
cmp esi, 0x51
jne case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
jmp 0x10066f8e
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x10061dc0.128
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x10066120
mov ebx, dword [ebp + 0x10]
cmp esi, 0x51
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fa0
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10060fa0
or esi, eax
mov ecx, esi
call fcn.10061790
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10061780
lea edx, [esp + 0x50]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
call fcn.100686f0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp 0x1006659e
mov ecx, dword [ebp + 0x18]
call fcn.10060f40
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x18]
or ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x10067ed0
cmp eax, 0x651
jmp 0x10066598
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10066721
mov ecx, edi
call fcn.10060fe0
test al, al
je 0x100666bf
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
mov ecx, edi
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.100687b0
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
jmp 0x10067eec
mov ecx, ebx
call fcn.10060fe0
test al, al
je 0x100666e7
mov ecx, ebx
call fcn.10060fa0
push eax
lea ecx, [esp + 0x14]
call fcn.100687b0
mov ecx, edi
call fcn.10060fb0
jmp 0x10067eea
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100616f0
test eax, eax
je 0x10066764
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.100616d0
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, edi
call fcn.10060fb0
jmp 0x10067eea
cmp esi, 0x11
jne 0x10066768
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100616f0
test eax, eax
je 0x10066154
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.100616d0
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, edi
call fcn.10060fb0
jmp 0x10066f8e
mov eax, dword [esp + 0x3c]
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
cmp esi, 0xa
jne case.default.0x10061dc0
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100616f0
test eax, eax
je 0x10066f85
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.100616d0
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp 0x10066f85
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100667ef
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067ef5
cmp esi, 0x11
je 0x10066154
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
jmp 0x10066f7c
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x1006688f
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068710
test al, al
je case.0x10061dc0.93
lea ecx, [esp + 0x10]
call fcn.10061650
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ecx, dword [ebp + 0x14]
jmp 0x10067eec
cmp esi, 0x51
je 0x1006659e
cmp esi, 0x89
jne case.default.0x10061dc0
lea ecx, [esp + 0x10]
call fcn.10061650
jmp 0x100664a5
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066544
cmp esi, 0x89
je 0x100664a5
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, dword [ebp + 0x14]
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x1006693f
mov ecx, edi
call fcn.10060fb0
jmp 0x10067eea
cmp esi, 0xd1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
jmp 0x10066f8e
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066826
cmp esi, 0x51
je 0x1006659e
cmp esi, 0x89
jne 0x10066982
lea ecx, [esp + 0x10]
call fcn.10061650
jmp 0x100664a5
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x1006690a
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x1006686e
cmp esi, 0x89
je 0x100664a5
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
cmp esi, 9
jne 0x10066f7c
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
jmp 0x10067eec
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066544
cmp esi, 0x89
je 0x100664a5
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
cmp esi, 0x4a
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
jmp 0x10066f8c
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
mov edx, 0x1000
mov eax, dword [ebx]
and al, 7
cmp al, 2
cmove ecx, edx
or dword [esp + 0x34], ecx
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066544
cmp esi, 0x89
je 0x100664a5
push 0x60001000
lea ecx, [esp + 0x14]
call fcn.100616d0
mov ecx, dword [esp + 0x3c]
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
lea ecx, [esp + 0x10]
call fcn.100615a0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10060f30
mov ecx, eax
call fcn.100610d0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10066b0f
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067ee5
cmp esi, 0xd1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.10061770
jmp 0x10066f8e
mov eax, dword [edi]
xor edx, edx
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
mov ecx, 0x8000000
cmove edx, ecx
xor ecx, ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or edx, ecx
or edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10066b85
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067ef5
cmp esi, 0x11
jmp 0x10066b15
cmp esi, 0xd1
jne case.0x10061dc0.146
lea ecx, [esp + 0x10]
call fcn.10061660
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
jmp 0x10066c01
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10066bea
mov ecx, ebx
call fcn.10060fa0
cmp eax, 8
je 0x10066bea
xor eax, eax
jmp 0x10066bef
mov eax, 0x8000000
or dword [esp + 0x10], 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 + 0x40], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
jne 0x10066c2a
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067ef5
cmp esi, 0xd1
jne case.default.0x10061dc0
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10066f92
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10066cae
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
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov byte [esp + 0x30], 1
jmp case.0x10061dc0.93
cmp eax, 0x449
jne 0x10066d04
lea ecx, [esp + 0x10]
call fcn.10061650
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10060fb0
shl eax, 4
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], eax
mov byte [esp + 0x30], al
jmp 0x10066f92
cmp eax, 0x289
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10066cdd
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
lea eax, [ecx + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
and eax, 7
cmp al, 3
jne case.default.0x10061dc0
call fcn.10060f40
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x38], eax
call fcn.10060fa0
mov ecx, edi
mov esi, eax
call fcn.10060fa0
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10060fa0
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10060fa0
or eax, esi
mov ecx, eax
call fcn.10061790
push eax
lea ecx, [esp + 0x14]
call fcn.100616e0
mov ecx, dword [esp + 0x50]
call fcn.10060f30
mov ecx, eax
call fcn.100686d0
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 + 0x40], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x38]
cmp eax, 0x249
jne 0x10066e07
mov ecx, ebx
call fcn.10060fb0
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10060fb0
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10061dc0.93
cmp eax, 0x449
jne 0x10066e4b
lea ecx, [esp + 0x10]
call fcn.10061650
mov ecx, ebx
call fcn.10060fb0
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060fb0
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10066f92
cmp eax, 0x289
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ecx, dword [ebp + 0x18]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10060fb0
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10066f92
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066544
cmp esi, 0x11
je 0x10066154
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, eax
call fcn.100617d0
push eax
lea ecx, [esp + 0x14]
call fcn.100616b0
jmp 0x10066f85
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094740]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10066cae
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 al, 1
jne 0x10066f32
lea ecx, [esp + 0x10]
call fcn.10061650
mov ecx, dword [ebp + 0x18]
call fcn.10060fb0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060fb0
jmp 0x10066c95
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10060fb0
jmp 0x10066c95
cmp esi, 1
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
mov dword [esp + 0x14], eax
jmp case.0x10061dc0.93
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061dc0
mov ecx, edi
call fcn.10060fb0
jmp 0x10066f8e
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061dc0
mov ecx, ebx
call fcn.10060fb0
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10060f40
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061060
mov ecx, ebx
movzx eax, byte [eax + 0x10094338]
mov dword [esp + 0x3c], eax
call fcn.10060f30
mov ecx, eax
call fcn.100615a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061870
lea ecx, [esp + 0x1c]
call fcn.10061100
mov edi, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.100615e0
test dword [esp + 0x3c], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068760
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061040
test al, al
je 0x1006701a
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061050
test al, al
je 0x10067040
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061070
mov dword [esp + 0x4c], eax
jmp 0x10067048
mov dword [esp + 0x4c], 0
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100615c0
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10060fb0
mov edx, dword [esp + 0x4c]
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 + 0x14]
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.10061690
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x34], eax
call fcn.10061100
mov ecx, eax
call fcn.10061220
mov edx, 0x400000
mov ecx, eax
call fcn.100615f0
mov esi, dword [esp + 0x34]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x34], esi
call fcn.10061230
mov edx, 0x80000
mov ecx, eax
call fcn.10061230
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10068710
test al, al
je 0x1006713b
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10061230
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068710
test al, al
jne 0x10067f9c
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10061240
or esi, eax
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x44]
call fcn.10061620
test al, al
je 0x10067175
test esi, 0x80df8110
jne 0x10067181
mov edx, 0x400
mov ecx, 0x800
call fcn.10061230
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068710
test al, al
jne 0x10067175
or esi, 0x10
mov dword [esp + 0x34], esi
test esi, 0x80df8110
je 0x100672f4
push 4
lea ecx, [esp + 0x14]
call fcn.10061710
mov edx, dword [esp + 0x34]
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 + 0x10]
push 5
call fcn.10061710
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x48], eax
test eax, 0x10000000
je 0x100672a5
mov ecx, dword [esp + 0x44]
call fcn.10061630
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10060f30
mov ecx, eax
call fcn.100615d0
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x10067294
mov esi, dword [esp + 0x48]
mov ecx, edx
mov eax, esi
mov dword [esp + 0x50], 4
and eax, 0x60000000
mov dword [esp + 0x6c], eax
call fcn.10068900
lea edx, [esp + 0x50]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x48]
call fcn.100686f0
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x34], eax
cmp eax, 0x40000000
ja 0x10067294
lea edx, [esp + 0x34]
lea ecx, [esp + 0x6c]
call fcn.100686f0
and esi, 0x9fffffff
lea ecx, [esp + 0x10]
push 0xffff1fff
or esi, eax
call fcn.100616d0
mov ecx, dword [esp + 0x5c]
call fcn.10068900
shl eax, 0xd
lea ecx, [esp + 0x10]
push eax
call fcn.100616e0
push esi
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x1006739e
mov ecx, 0x29
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
push 0x19
lea ecx, [esp + 0x14]
call fcn.10061710
mov esi, eax
lea ecx, [esp + 0x10]
push 0xd
and esi, 4
call fcn.10061710
mov ecx, dword [esp + 0x48]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x10094208]
lea ecx, [esp + 0x14]
call fcn.10061640
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push esi
call fcn.10068750
jmp 0x1006739e
push 0xd
lea ecx, [esp + 0x14]
call fcn.10061710
mov esi, eax
lea ecx, [esp + 0x10]
push 0xc
and esi, 0x300
call fcn.10061710
mov ecx, dword [esp + 0x34]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x34]
or esi, eax
call fcn.100617c0
push 0xffff1fff
lea ecx, [esp + 0x14]
or esi, eax
call fcn.100616d0
test esi, 0x8000807e
je 0x1006737a
push 0x18
lea ecx, [esp + 0x14]
call fcn.10061700
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x100942d8]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x100673ab
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068740
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068740
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068740
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.10061600
test al, al
jne 0x10067a99
mov eax, dword [esp + 0x3c]
test al, 0x42
jne 0x10067981
test al, 1
je 0x1006755c
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov ebx, eax
call fcn.100617a0
mov ecx, dword [esp + 0x48]
add esp, 4
mov esi, eax
call fcn.10061610
mov ecx, dword [esp + 0x18]
cmp ecx, 4
je 0x1006746c
test al, al
jne 0x1006746c
cmp ecx, 5
je 0x10067421
test ebx, ebx
je 0x10067b7d
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100616f0
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.100688a0
test al, al
je 0x10067461
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067461
lea eax, [esi + 0x40]
jmp 0x10067500
lea eax, [esi + 0x80]
jmp 0x10067543
and esi, 0xf8
or esi, 4
cmp ecx, 5
je 0x100674a8
test ebx, ebx
jne 0x100674a8
push esi
lea ecx, [esp + 0x20]
call fcn.10068740
push dword [esp + 0x18]
lea edx, [ebx + 4]
xor ecx, ecx
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
jmp 0x1006500e
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100616f0
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.100688a0
test al, al
je 0x10067520
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067520
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10068740
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.100617a0
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.10068740
mov ecx, dword [esp + 0x48]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
jmp 0x1006500e
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068740
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.100617a0
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.10068740
push ebx
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x1006500e
test al, 0x30
jne 0x100678ba
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061570
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
mov ecx, edi
mov dword [esp + 0x34], eax
call fcn.10061280
test al, al
je 0x100675b0
cmp esi, 2
je 0x10064210
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100617a0
jmp 0x1006789b
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov esi, dword [esp + 0x34]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], esi
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.10061270
mov ecx, eax
call fcn.100611d0
mov ecx, eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x100676b6
and ecx, edx
cmp ecx, 0xffffffff
jne 0x1006767c
cmp dword [esp + 0x48], esi
je 0x10067873
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x100676bf
mov ebx, dword [esp + 0x38]
mov al, byte [ebx]
cmp al, 0x67
je 0x10067873
cmp dword [esp + 0x58], 0x17e
jne 0x10067867
movzx eax, al
test al, 0x40
je 0x10067873
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10067873
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10068710
test al, al
jne 0x10067873
push ebx
lea ecx, [esp + 0x20]
call fcn.10061420
jmp 0x10067873
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100615a0
cmp dword [esp + 0x58], 0x17e
mov ecx, eax
jne 0x100676a7
cmp dword [esp + 0x48], esi
je 0x100676a3
cmp dword [esp + 0x4c], 0
jne 0x100676a7
mov al, 1
jmp 0x100676a9
xor al, al
cmp ecx, 5
jae 0x10067799
test al, al
jmp 0x100676b9
cmp eax, 2
jne 0x10067799
mov ecx, dword [esp + 0x40]
push dword [edi + 0x6c]
movzx esi, cl
lea ecx, [esp + 0x20]
call fcn.100613f0
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
mov eax, 0
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
adc eax, edx
and ecx, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
cmp ecx, 0xffffffff
je 0x100677c0
mov ecx, dword [edi + 0x68]
call fcn.10061100
test eax, eax
jne 0x100677c0
mov ecx, dword [edi + 0x68]
call fcn.10061110
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x44]
mov ecx, ebx
adc edi, dword [esp + 0x3c]
add esi, dword [esp + 0x5c]
adc edi, dword [esp + 0x6c]
add esi, 5
adc edi, 0
call fcn.10060f30
mov ecx, eax
call fcn.100610a0
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.100686a0
add esp, 8
test al, al
je 0x1006777b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x100645e8
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10061580
test al, al
jne 0x10064210
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x48], esi
je 0x10067873
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10067620
mov ecx, 0x2e
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.10069510
mov ecx, eax
test ecx, ecx
jne 0x10061f14
mov edx, dword [esp + 0x14]
push 5
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
mov ecx, dword [edi + 0x68]
call fcn.10061100
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100612d0
mov ecx, dword [esp + 0x54]
push 4
push 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + 8]
call fcn.10061130
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100613f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061160
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610a0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
lea ecx, [esp + 0x1c]
push 0
call fcn.100688b0
jmp 0x1006500e
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.100688c0
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push 5
mov edx, 4
xor ecx, ecx
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x1006500e
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
mov ecx, edi
call fcn.10061280
test al, al
jne 0x10067c5a
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
test byte [esp + 0x3c], 0x10
mov esi, eax
je 0x10067972
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov ecx, dword [edi + 0x2c]
push eax
call fcn.100611e0
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x10067cb9
mov ecx, dword [esp + 0x40]
push dword [edi + 0x68]
movzx eax, cl
mov ecx, 0xfffffffc
sub ecx, eax
lea eax, [edi + 0x68]
add esi, ecx
mov dword [esp + 0x5c], eax
mov ecx, ebx
mov dword [esp + 0x48], esi
call fcn.100611a0
test al, al
je 0x10067d9a
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100613f0
mov ecx, ebx
sub esi, eax
call fcn.100611b0
add eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10068750
jmp 0x1006500e
push esi
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x1006500e
test al, 0x40
jne 0x100679a1
mov esi, dword [esp + 0x4c]
cmp esi, 4
jne 0x10067aa9
lea ecx, [esi + 0x28]
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
movsx edx, ax
mov eax, dword [esp + 0x3c]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], ecx
je 0x10067a6e
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x4c]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 3
jne 0x10067a09
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100615b0
test eax, eax
jne 0x10064210
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov al, byte [esi + eax*8 + 0x10094780]
jmp 0x10067a19
test al, 2
je 0x10067a13
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x10094288]
movzx ecx, al
cmp ecx, 0xff
je 0x10064210
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067a3c
cmp esi, 6
jne 0x10067b7d
mov ecx, edx
call fcn.100688a0
lea ecx, [esp + 0x1c]
test al, al
je 0x10067a66
lea eax, [esi + 0x40]
push eax
call fcn.10068740
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.10068740
jmp 0x1006500e
lea eax, [esi + 0x80]
jmp 0x10067a81
test al, 0x30
jne 0x10064210
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10068740
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.100688f0
jmp 0x1006500e
mov eax, dword [esp + 0x3c]
test al, 2
je case.default.0x10061dc0
mov esi, dword [esp + 0x4c]
and esi, 7
test al, 1
je 0x10067baa
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x4c], eax
call fcn.100617a0
add esp, 4
mov dword [esp + 0x4c], eax
mov ecx, ebx
push dword [esp + 0x18]
call fcn.10060f30
mov ecx, eax
call fcn.100615b0
mov edx, esi
mov ecx, eax
call fcn.100617a0
mov esi, dword [esp + 0x4c]
add esp, 4
mov ebx, eax
mov dword [esp + 0x38], ebx
test esi, esi
jne 0x10067b2f
cmp dword [esp + 0x18], 5
je 0x10067b2f
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push ebx
lea ecx, [esp + 0x20]
call fcn.10068740
jmp 0x1006500e
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100616f0
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.100688a0
test al, al
je 0x10067b8c
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x48]
shl eax, cl
cmp ebx, eax
jne 0x10067b90
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10068740
push dword [esp + 0x38]
lea ecx, [esp + 0x20]
call fcn.10068740
push esi
lea ecx, [esp + 0x20]
call fcn.10068740
jmp 0x1006500e
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10068740
push dword [esp + 0x38]
jmp 0x10067544
test al, 0x30
jne 0x10067c0b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push 5
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100615b0
mov edx, esi
mov ecx, eax
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
push eax
lea ecx, [esp + 0x20]
call fcn.10068750
jmp 0x1006500e
mov ecx, edi
call fcn.10061280
test al, al
je 0x10064210
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
push 5
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100615b0
mov edx, esi
mov ecx, eax
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
mov ecx, dword [edi + 0x2c]
push 1
call fcn.100611c0
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10068650
test eax, eax
jne 0x10067eb3
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.100610c0
test byte [esp + 0x3c], 0x10
mov dword [esp + 0x38], eax
je 0x10067e0f
mov ecx, ebx
call fcn.10060f30
mov ecx, eax
call fcn.10060fb0
mov ecx, dword [edi + 0x2c]
push eax
call fcn.100611e0
mov ebx, eax
mov dword [esp + 0x48], eax
test ebx, ebx
jne 0x10067cca
mov ecx, 0xc
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.10069510
mov ecx, eax
test ecx, ecx
jne 0x10061f14
mov ecx, dword [edi + 0x68]
lea eax, [edi + 0x68]
mov dword [esp + 0x58], eax
call fcn.10061100
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100612d0
mov ecx, dword [esp + 0x54]
push 4
push 1
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + 8]
call fcn.10061130
mov ecx, dword [esp + 0x40]
movzx esi, cl
lea ecx, [esp + 0x1c]
push esi
push dword [edi + 0x74]
call fcn.100613f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061160
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, ebx
call fcn.10061190
test al, al
je 0x10067d8f
mov esi, dword [esp + 0x54]
mov ecx, ebx
call fcn.100611b0
add dword [esi + 0x20], eax
mov ecx, ebx
adc dword [esi + 0x24], edx
call fcn.10061180
mov ecx, eax
call fcn.10061100
mov ecx, dword [esp + 0x54]
push 0
mov dword [ecx + 0x14], eax
lea ecx, [esp + 0x20]
call fcn.100688b0
jmp 0x1006500e
mov eax, 0xfffffffc
sub eax, esi
mov dword [esp + 0x44], eax
lea ebx, [edi + 0x2c]
mov dword [esp + 0x4c], 4
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100613f0
push dword [esp + 0x4c]
lea ecx, [esp + 0x60]
mov esi, eax
push 0
call fcn.10061130
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x48]
mov ecx, dword [ecx]
push esi
call fcn.10061100
mov ecx, dword [ebx]
push eax
push dword [esp + 0x58]
call fcn.100690e0
mov esi, eax
test esi, esi
je 0x10067eb3
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x10067dfd
call fcn.10061100
mov dword [esi + 8], eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x20]
call fcn.10061400
jmp 0x1006500e
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.10069510
mov ecx, eax
test ecx, ecx
jne 0x10061f14
mov ecx, dword [edi + 0x68]
call fcn.10061100
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10061100
mov ecx, dword [esp + 0x54]
push 4
push 1
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + 8]
call fcn.10061130
mov ecx, dword [esp + 0x40]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.100613f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061160
mov ecx, edi
call fcn.100612d0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.10061120
mov ecx, dword [esp + 0x54]
mov esi, eax
mov eax, dword [esp + 0x38]
cdq
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
adc edx, 0
jmp 0x10067851
mov ecx, 1
call fcn.10060f30
mov ecx, eax
jmp 0x10061f14
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x10061dc0
mov ecx, dword [ebp + 0x14]
call fcn.10060fb0
mov ecx, edi
mov esi, eax
call fcn.10060fb0
mov edx, esi
mov ecx, eax
call fcn.10061770
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060fb0
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
and eax, 0xf98
and dword [esp + 0x14], 7
mov esi, dword [edi + 0x4c]
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x18]
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
or esi, eax
test ecx, 0x8c0000
je 0x10067fb2
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10067fb2
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x10067f6c
test byte [eax + 4], 0x70
jne 0x10067f9c
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x10067f94
shr edx, 2
test dl, 1
je 0x10067f9c
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10067fac
shr edx, 3
test dl, 1
jne 0x10067fa6
mov ecx, 0x2a
jmp 0x10061f14
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
test byte [eax + 3], 1
je 0x10067fd1
test esi, 0xd78150
jne 0x10067fdd
test dword [esp + 0x20], 0xc00
jne 0x10067fd1
or esi, 0x10
test esi, 0xd78150
je 0x10068072
mov eax, dword [esp + 0x10]
mov edx, esi
and edx, 0x8000
mov ecx, eax
shl edx, 4
and eax, 0x8000000
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.10068750
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x10]
mov byte [ecx], al
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
and edx, 7
mov cl, byte [esp + 0x14]
inc eax
mov dword [esp + 0x18], edx
sub dl, 0x40
shl cl, 3
mov dword [esp + 0x1c], eax
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.10061890
jmp 0x10068151
mov eax, dword [esp + 0x10]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, 0x8000000
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 0x100680f2
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x100942d8]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10068750
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x14]
and eax, 7
mov dword [esp + 0x18], eax
sub al, 0x40
shl cl, 3
add cl, al
mov eax, dword [esp + 0x1c]
jmp 0x10068052
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068740
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068740
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068740
mov eax, dword [esp + 0x18]
mov ecx, 3
mov edx, dword [esp + 0x14]
and eax, 7
push eax
mov dword [esp + 0x1c], eax
call fcn.100617a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068740
jmp 0x10068058
mov edi, edx
mov dword [edi + 0x48], 0
lea ecx, [esp + 0x1c]
mov dword [edi + 0x4c], 0
push edi
mov dword [edi + 0x44], 0
mov dword [edi + 0x50], 0
call fcn.10061450
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14