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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov edx, dword [ecx + 0x74]
xor al, al
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x18], ecx
sbb ecx, ecx
mov dword [esp + 0x30], eax
and ecx, dword [ebp + 8]
mov byte [esp + 0x24], al
mov dword [esp + 0x4c], ecx
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [ecx*8 + 0x100947c0]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
shr eax, 0xe
mov ecx, dword [ecx]
and eax, 0x3ff
and ecx, 7
mov dword [esp + 0x14], edx
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + 0x100937c0]
mov dword [esp + 0x44], eax
mov eax, dword [ebx]
and eax, 7
mov dword [esp + 0x54], 0
movlpd qword [esp + 0x28], xmm0
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 + 0x24]
or ecx, dword [edx + 0x44]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x100613a4
cmp dword [edx + 0x2c], 0
jne 0x100611e6
push 0
push 5
mov ecx, edx
call fcn.1006f900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x58], 0
je case.default.0x100613ff
push 0x10
push edx
lea ecx, [esp + 0x24]
call fcn.10060940
test eax, eax
jne 0x10061553
mov edx, dword [esp + 0x24]
test byte [edx + 0x10], 1
je 0x100612a5
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 + 0x48], al
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x50]
mov eax, dword [edx + 0x64]
movups xmmword [esp + 0xd4], xmm0
call eax
add esp, 0x14
test eax, eax
jne 0x10061553
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax*8 + 0x100947c0]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100937c0]
mov dword [esp + 0x50], eax
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x1006135a
mov eax, dword [esp + 0x50]
and ecx, 0x30000
shr eax, 0x10
test al, 1
jne 0x100612f1
test ecx, ecx
jne 0x100612f5
lea eax, [ecx + 0x21]
jmp 0x10061553
test ecx, ecx
je 0x1006134f
mov ecx, dword [esp + 0x20]
shr ecx, 0x10
test cl, 1
je 0x10061316
mov eax, dword [esp + 0x50]
shr eax, 0x11
test al, 1
jne 0x10061316
mov eax, 0x22
jmp 0x10061553
mov eax, dword [esp + 0x20]
shr eax, 0x11
test al, 1
je 0x10061336
mov eax, dword [esp + 0x50]
shr eax, 0x12
test al, 1
jne 0x10061336
mov eax, 0x23
jmp 0x10061553
mov eax, dword [esp + 0x1c]
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x10061353
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x100613a4
mov eax, dword [esp + 0x50]
shr eax, 0xe
test al, 1
je 0x10061406
mov eax, dword [edx + 0x48]
test eax, eax
je 0x1006138b
shr eax, 8
test al, 0xf
jne 0x10061406
cmp dword [edx + 0x4c], 1
jne 0x10061406
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 + 0x100947c6]
mov ecx, dword [eax*4 + 0x10097bb8]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [edx*8 + 0x100947c5]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
movzx edx, byte [eax + 4]
mov dword [esp + 0x40], edx
cmp edx, 0xa0
mov edx, dword [esp + 0x24]
ja case.default.0x100613ff
mov ebx, dword [esp + 0x40]
jmp dword [ebx*4 + 0x10067784]
mov eax, 0x24
jmp 0x10061553
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
jmp case.0x100613ff.63
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x100613ff
lea ecx, [esp + 0x10]
call fcn.10060cd0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
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 + 0x10093258]
lea ecx, [esp + 0x20]
push eax
call fcn.10067d20
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 0x100652f8
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.10060e70
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 0x10063c0b
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060630
mov ecx, dword [esp + 0x24]
movzx eax, al
movzx esi, byte [eax + 0x100932c0]
call fcn.10060c40
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10067d60
jmp case.0x100613ff.1
test esi, esi
je case.0x100613ff.1
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
test eax, eax
je case.0x100613ff.1
mov eax, 0x1a
mov ecx, dword [esp + 0x24]
push 0
push eax
mov dword [ecx + 0x48], 0
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x50], 0
call fcn.1006f900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x100613ff.1
cmp esi, 9
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
cmp eax, 2
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
jmp case.0x100613ff.1
test esi, esi
je case.0x100613ff.1
cmp esi, 2
jne case.default.0x100613ff
xor edx, edx
mov ecx, edi
call fcn.10060da0
test al, al
je case.default.0x100613ff
mov esi, edi
mov ecx, esi
call fcn.10060590
mov ecx, eax
call fcn.100606c0
mov ecx, esi
movzx ebx, byte [eax + 0x100932c0]
call fcn.10060590
mov ecx, eax
call fcn.100606e0
test al, al
jne case.default.0x100613ff
test bl, 2
jne case.default.0x100613ff
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e40
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10060ce0
mov edi, eax
mov ecx, edi
call fcn.10060e10
test al, al
jne 0x100652f8
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10067d20
mov ecx, esi
call fcn.10060590
mov ecx, eax
call fcn.10060c00
push eax
lea ecx, [esp + 0x20]
call fcn.10060ed0
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10060c40
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10067d60
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e70
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.10060f30
jmp 0x10067752
mov ebx, dword [ebp + 0x10]
cmp esi, 3
jne 0x100616c4
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x100613ff.1
cmp esi, 0x19
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
mov ecx, ebx
jmp 0x100616a2
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.0x100613ff.11
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp case.0x100613ff.11
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100a8260]
or eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, 1
je case.0x100613ff.63
mov ebx, edi
cmp esi, 2
je 0x1006175f
jmp case.default.0x100613ff
mov ebx, dword [ebp + 0x10]
cmp esi, 0x4a
jne case.0x100613ff.14
mov edx, 2
mov ecx, ebx
call fcn.10060b90
test al, al
je case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10060b90
test al, al
je case.default.0x100613ff
mov ebx, edi
mov edi, dword [esp + 0x24]
mov ecx, ebx
call fcn.100605a0
push 0xe000
lea ecx, [esp + 0x14]
call fcn.10060d50
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.100606c0
mov ecx, ebx
movzx eax, byte [eax + 0x100932c0]
mov dword [esp + 0x38], eax
call fcn.10060590
mov ecx, eax
call fcn.10060c00
push eax
lea ecx, [esp + 0x20]
call fcn.10060ed0
lea ecx, [esp + 0x1c]
call fcn.10060760
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10060c40
test dword [esp + 0x38], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10067d60
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e40
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060590
mov ecx, eax
call fcn.100606d0
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 + 0x54], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x14]
shr edx, 1
and edx, dword [esp + 0x3c]
mov dword [esp + 0x50], edx
call fcn.10060ce0
mov esi, dword [esp + 0x4c]
or esi, eax
mov ecx, esi
call fcn.10060e10
test al, al
jne 0x100652f8
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10067d20
push dword [esp + 0x10]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10060e70
jmp 0x100669d8
cmp esi, 2
jne case.default.0x100613ff
mov ebx, edi
mov edi, edx
jmp 0x10061763
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x100613ff.1
push 0x11f
lea ecx, [esp + 0x14]
call fcn.10060d10
mov dword [esp + 0x14], 0
cmp esi, 1
jne 0x100618ce
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 2
jne 0x100618e9
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp 0x1006175d
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
cmp esi, 9
jne 0x1006191a
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0xa
jne case.default.0x100613ff
jmp 0x1006175d
cmp esi, 2
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.100606c0
mov ecx, edi
movzx ebx, byte [eax + 0x100932c0]
call fcn.10060590
mov ecx, eax
call fcn.100606e0
test al, al
jne case.default.0x100613ff
test bl, 2
jne case.default.0x100613ff
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e40
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10060ce0
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.10060e10
test al, al
jne 0x100652f8
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10067d20
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10060590
mov ecx, eax
call fcn.10060c00
push eax
lea ecx, [esp + 0x20]
call fcn.10060ed0
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10060c40
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10067d60
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e70
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, 3
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.10060f30
jmp 0x10067752
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x10061a83
mov edx, 2
mov ecx, ebx
call fcn.10060b90
test al, al
je case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10060b90
test al, al
je case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060b00
jmp 0x10061a6b
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100a8260]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10061add
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10061b46
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, 2
jne 0x10061b30
push 0x66
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp case.0x100613ff.63
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067db0
jmp case.0x100613ff.63
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 2
jne 0x10061b76
push 0x66
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp 0x1006175f
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067db0
jmp 0x1006175f
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100a8260]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064bd9
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x100613ff.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10061cbf
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne 0x10064519
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne 0x10061c8c
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10061c42
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x10061c51
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10061c7d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x10061c8c
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10067d10
test al, al
je case.0x100613ff.63
push 2
lea ecx, [esp + 0x14]
call fcn.10060ca0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034bf1
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x10061d3e
push 2
lea ecx, [esp + 0x14]
call fcn.10060ca0
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne 0x1006175f
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10061d2a
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x1006175f
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
jmp 0x1006175f
cmp esi, 0xa
jne 0x10061daf
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne 0x1006175d
mov ecx, ebx
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x10061d9b
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x1006175d
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
jmp 0x1006175d
push 0x80
lea ecx, [esp + 0x14]
call fcn.10060d10
cmp esi, 0x19
jne 0x10061fe8
mov ecx, edi
call fcn.10060600
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
cmp eax, 1
jne 0x10061e3f
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x10061e29
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
mov bl, 1
jmp 0x10061f39
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
mov bl, 1
jmp 0x10061f39
cmp eax, 2
jne 0x10061e57
push 0x200000
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp 0x10061eef
cmp eax, 4
jne 0x10061e76
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067dd0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10061eef
cmp eax, 8
jne 0x10061eef
cmp dword [esp + 0x58], 0x15
jne 0x10061e9a
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067de0
add esp, 8
test al, al
je 0x10061e9a
mov bl, 1
jmp 0x10061e9c
xor bl, bl
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067ca0
add esp, 8
test al, al
jne 0x10061ec3
test bl, bl
jne 0x10061ed6
mov ecx, 0x32
call fcn.10060590
jmp 0x10061553
test bl, bl
je 0x10061ee1
mov ecx, dword [esp + 0x24]
push 1
call fcn.10060920
test al, al
je 0x10061ee1
mov eax, 4
mov dword [esp + 0x44], eax
jmp 0x10061ee5
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x14]
call fcn.10067db0
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 4
lea ecx, [esp + 0x44]
call fcn.10067d00
push dword [esp + 0x2c]
mov bl, al
push dword [esp + 0x2c]
mov byte [esp + 0x38], bl
call fcn.10067c70
add esp, 8
test al, al
je 0x10061f3d
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
mov byte [esp + 0x30], bl
cmp dword [esp + 0x18], 0
jne 0x10061fb0
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x10061f52
cmp bl, 1
je 0x10061fb4
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
jne 0x10061fb0
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.10060d30
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.10060d40
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 4
lea ecx, [esp + 0x44]
call fcn.10067d00
mov byte [esp + 0x30], al
jmp case.0x100613ff.1
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x10061fd7
xor eax, eax
lea ecx, [esp + 0x10]
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
call fcn.10060ca0
jmp case.0x100613ff.63
xor eax, eax
lea ecx, [esp + 0x10]
push eax
call fcn.10060ca0
jmp case.0x100613ff.63
cmp esi, 0x1a
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov dword [esp + 0x50], eax
test eax, eax
je 0x1006440e
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov esi, eax
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x40]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x50]
mov dword [esp + 0x40], 4
call fcn.10067d00
cmp dword [esp + 0x50], 4
mov bl, al
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x30], bl
jne 0x10062057
push dword [esp + 0x2c]
push esi
call fcn.10067dd0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067c70
add esp, 8
test al, al
je 0x1006208e
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
movzx ebx, bl
mov edx, 1
cmove ebx, edx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x30], bl
xor eax, eax
cmp dword [esp + 0x50], 1
je 0x100620a4
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
lea ecx, [esp + 0x14]
call fcn.10060ca0
push dword [esp + 0x50]
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp 0x1006175d
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
cmp eax, esi
je case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov edi, dword [esp + 0x24]
jmp 0x100645be
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
cmp esi, 9
jne 0x10062131
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, ebx
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0xa
jne 0x10062155
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, ebx
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175d
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
lea ecx, [esp + 0x10]
call fcn.10060c00
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10061a73
cmp esi, 0x1a
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
test eax, eax
je 0x1006440e
jmp 0x1006175d
cmp esi, 1
je 0x10061a73
mov ebx, edi
cmp esi, 2
je 0x1006175f
push 0xe8
lea ecx, [esp + 0x14]
call fcn.10060d10
mov dword [esp + 0x14], 0
jmp 0x10062ad8
mov ebx, dword [ebp + 0x10]
test esi, 0x1c0
je 0x10062227
mov ecx, dword [ebp + 0x14]
call fcn.10060640
test al, al
je case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
and esi, 0x3f
cmp esi, 9
jne 0x100622f7
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne 0x10064519
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne case.0x100613ff.63
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x100622a8
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x100622b7
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x100622e3
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp case.0x100613ff.63
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
jmp case.0x100613ff.63
cmp esi, 0xa
jne case.default.0x100613ff
jmp 0x10061d43
cmp esi, 0x4a
jne case.0x100613ff.14
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.100605c0
test al, al
je case.default.0x100613ff
lea ecx, [ebx + 0x10]
call fcn.100605c0
jmp 0x10061755
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067db0
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100623d6
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, 1
jne 0x100623af
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062398
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.0x100613ff.63
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x100613ff.63
mov ecx, ebx
call fcn.10060600
cmp eax, 2
jne 0x100623c6
push 0x66
lea ecx, [esp + 0x20]
call fcn.10067d40
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp case.0x100613ff.63
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
test eax, eax
je 0x1006440e
mov ecx, ebx
call fcn.10060600
cmp eax, 2
jne 0x10062405
push 0x66
lea ecx, [esp + 0x20]
call fcn.10067d40
mov ecx, ebx
call fcn.10060600
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10060ca0
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 0x1b
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10067ce0
mov ecx, ebx
mov di, ax
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
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.0x100613ff.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x1006251f
push 0x6b
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, dword [ebp + 0x14]
call fcn.10060590
mov ecx, eax
call fcn.10060730
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.10067c70
add esp, 8
test al, al
je 0x100624e1
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
je 0x10062504
push 2
lea ecx, [esp + 0x14]
call fcn.10060d20
mov ecx, edi
call fcn.10060600
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0xd1
jne 0x100625e8
push 0x6b
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, dword [ebp + 0x14]
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10060600
cmp eax, 4
jne 0x1006258b
push dword [esp + 0x2c]
push esi
call fcn.10067dd0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067c70
add esp, 8
test al, al
je 0x100625b1
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
je 0x100625d8
push 2
lea ecx, [esp + 0x14]
call fcn.10060d20
mov ecx, edi
call fcn.10060600
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
cmp esi, 9
jne 0x1006264f
mov ecx, ebx
call fcn.10060600
cmp eax, 1
je 0x10062763
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne 0x10064519
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x10062693
mov ecx, ebx
call fcn.10060600
cmp eax, 1
je 0x100627c0
mov ecx, edi
call fcn.10060610
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp 0x1006175f
cmp esi, 0x19
jne case.0x100613ff.13
push 0x6b
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
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.10060600
cmp eax, 4
jne 0x100626f5
push ebx
push esi
call fcn.10067dd0
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067c70
add esp, 8
test al, al
je 0x1006271b
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
je 0x1006273e
push 2
lea ecx, [esp + 0x14]
call fcn.10060d20
mov ecx, edi
call fcn.10060600
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp case.0x100613ff.63
mov ebx, dword [ebp + 0x10]
cmp esi, 7
jbe case.0x100613ff.12
cmp esi, 9
jne 0x100627bb
xor edx, edx
mov ecx, edi
call fcn.10060b70
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060af0
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x100627a7
cmp dword [esp + 0x18], 4
jmp 0x100622cb
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x100627d6
xor edx, edx
mov ecx, edi
call fcn.10060b70
test al, al
je case.default.0x100613ff
jmp 0x1006175f
cmp esi, 0x49
jne 0x10062815
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, dword [ebp + 0x14]
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x89
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ebx, dword [ebp + 0x14]
jmp 0x1006175f
cmp esi, 1
jne 0x1006289f
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, esi
jne case.0x100613ff.63
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x100627a7
cmp dword [esp + 0x18], 4
jmp 0x100622cb
cmp esi, 2
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
test eax, eax
je 0x1006440e
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x19
jne 0x1006293e
mov ecx, edi
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10060600
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10060e30
add eax, esi
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067e00
jmp case.0x100613ff.1
cmp esi, 9
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
cmp eax, 2
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10060ca0
jmp 0x10062928
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x100613ff
mov edx, 7
mov ecx, edi
call fcn.10060da0
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
cmp eax, 2
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov ebx, eax
test ebx, ebx
je 0x1006440e
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.10060ca0
push ebx
lea ecx, [esp + 0x14]
call fcn.10067e00
jmp 0x100615cc
cmp esi, 1
jne 0x1006289f
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, esi
jne 0x10062a33
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062398
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.0x100613ff.63
mov ecx, dword [esp + 0x24]
call fcn.100608e0
test al, al
je 0x10062a57
mov ecx, dword [esp + 0x38]
call fcn.10060e30
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x1006291e
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
jmp case.0x100613ff.63
cmp esi, 3
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x100613ff.1
test byte [esp + 0x20], 0xc0
je 0x10062ace
push 0x10
mov ecx, edx
call fcn.10060920
test al, al
je 0x10062ace
mov ecx, dword [esp + 0x20]
mov edx, 0x40
call fcn.10067d10
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.10067d40
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 0x100652f8
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov edi, dword [esp + 0x24]
mov cl, dl
or cl, 0x40
mov dword [esp + 0x4c], 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 + 0x38]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
movzx eax, byte [eax + 7]
mov esi, dword [eax*4 + 0x100945a0]
mov eax, dword [esp + 0x10]
and eax, 0x1f00
mov dword [esp + 0x38], 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 + 0x50], ecx
mov ecx, ebx
cmp al, 4
jne 0x10062d3d
lea esi, [edi + 0x2c]
mov dword [esp + 0x58], esi
call fcn.10060590
mov ecx, dword [esi]
push eax
call fcn.10060860
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x100672ca
push dword [edi + 0x68]
lea eax, [edi + 0x68]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.10060800
test al, al
je 0x10062c77
mov ecx, ebx
call fcn.10060810
mov esi, eax
mov eax, dword [esp + 0x50]
sub esi, dword [esp + 0x3c]
sub esi, eax
jmp 0x10062de9
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x10062c39
mov edx, 1
mov ecx, edi
call fcn.10060660
test al, al
je case.default.0x100613ff
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.100608e0
test al, al
je 0x10062bf0
mov ecx, edi
call fcn.10060600
cmp eax, 2
je 0x10062c07
mov ecx, esi
call fcn.100608f0
test al, al
je 0x10062c20
mov ecx, edi
call fcn.10060600
cmp eax, 4
jne 0x10062c20
mov al, 1
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d60
mov dword [esp + 0x14], 0
jmp 0x10062ad8
xor al, al
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d60
mov dword [esp + 0x14], 0
jmp 0x10062ad8
mov ebx, edi
mov dword [esp + 0x14], 0
jmp 0x10062ad8
cmp esi, 1
je 0x10061a73
mov ebx, edi
cmp esi, 2
je 0x1006175f
push 0xe9
lea ecx, [esp + 0x14]
call fcn.10060d10
mov dword [esp + 0x14], 0
jmp 0x10062ad8
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x10062cb2
cmp dword [esp + 0x10], 0
je 0x10062c98
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10067d10
test al, al
je 0x10062cb2
push ebx
lea ecx, [esp + 0x20]
call fcn.10067d40
or ebx, 0xffffffff
mov dword [esp + 0x50], 1
jmp 0x100673aa
cmp dword [esp + 0x10], 0
je 0x10062dd6
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10067d10
test al, al
jne 0x10062dd6
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.10060d50
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10067d20
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10067d40
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10067d20
lea eax, [edi + 0x68]
mov dword [esp + 0x58], esi
mov ebx, 0xfffffffc
mov dword [esp + 0x44], eax
jmp 0x100673a2
call fcn.100605e0
test al, al
je case.default.0x100613ff
mov ecx, edi
call fcn.100608d0
mov ecx, eax
call fcn.10060830
mov ecx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edx
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0x40]
mov ecx, edx
and ecx, dword [esp + 0x48]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], eax
cmp ecx, 0xffffffff
je 0x10062edf
mov esi, ebx
mov ecx, edi
sub esi, dword [esp + 0x50]
mov ebx, eax
sbb ebx, 0
sub esi, edx
sbb ebx, dword [esp + 0x48]
sub esi, dword [esp + 0x3c]
sbb ebx, 0
call fcn.10060900
mov cl, al
call fcn.10060740
test al, al
jne 0x10062de5
push ebx
push esi
call fcn.10067ca0
add esp, 8
test al, al
jne 0x10062de5
mov ecx, dword [esp + 0x58]
call fcn.10060d80
test al, al
jne 0x10062ed7
mov ecx, 0x30
call fcn.10060590
jmp 0x10061553
mov eax, dword [esp + 0x50]
add eax, 0xfffffffe
add eax, esi
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.10067ea0
test al, al
je 0x10062e41
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x10062e41
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
jne 0x10062e41
mov edx, 0x10
lea ecx, [esp + 0x20]
call fcn.100608b0
push ebx
lea ecx, [esp + 0x20]
call fcn.10067d40
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp 0x10067752
cmp dword [esp + 0x10], 0
je 0x10062dd6
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10067d10
test al, al
jne 0x10062dd6
mov ecx, 0x10
call fcn.10060880
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.100608c0
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.10060d50
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10067d20
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10067d40
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10067d20
push esi
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x10067752
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.10068b10
test eax, eax
jne 0x10061553
mov ecx, edi
call fcn.10060930
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10060760
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ecx
cmp dword [esp + 0x10], 0
je 0x10063014
mov ecx, edi
call fcn.10060900
mov cl, al
call fcn.10060750
test al, al
je 0x10062f84
mov ecx, dword [esp + 0x58]
call fcn.10060d80
test al, al
je 0x10062f84
cmp dword [esp + 0x4c], 0
jne 0x10062f64
push 0x40
lea ecx, [esp + 0x20]
call fcn.10067d40
push dword [esp + 0x44]
mov ecx, dword [edi + 0x2c]
push ebx
call fcn.10068590
test eax, eax
jne 0x10061553
mov eax, dword [esp + 0x54]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.10060d50
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10067d20
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10067d40
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10067d20
mov ecx, dword [esp + 0x54]
push 4
push 0
lea ecx, [ecx + 8]
call fcn.10060790
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10060a50
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.100607c0
push 0
lea ecx, [esp + 0x20]
call fcn.10067eb0
jmp 0x10067752
push esi
lea ecx, [esp + 0x20]
call fcn.10067d40
mov ecx, dword [esp + 0x54]
push 1
push 0
lea ecx, [ecx + 8]
call fcn.10060790
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10060a50
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.100607c0
push 0
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp 0x10067752
mov ebx, dword [ebp + 0x10]
cmp esi, 2
jne 0x100630b7
mov ecx, edi
mov ebx, edi
call fcn.10060600
mov edi, dword [esp + 0x24]
mov esi, eax
test esi, esi
jne 0x1006308c
mov ecx, edi
call fcn.10060910
mov esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.10067d70
jmp 0x10061763
sub esi, 2
cmp esi, 2
je 0x100630a8
cmp esi, 4
je 0x100630a8
mov ecx, edi
call fcn.10060910
cmp esi, eax
jne 0x10063835
push esi
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp 0x10061763
cmp esi, 0x1b
jne case.default.0x100613ff
mov ecx, edx
call fcn.100608e0
test al, al
je case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, ebx
mov esi, eax
call fcn.10060590
mov ecx, esi
mov edi, eax
call fcn.10060730
test edx, edx
jg 0x10061eb4
jl 0x100630fd
cmp eax, 0xffff
ja 0x10061eb4
mov ecx, edi
call fcn.10060730
test edx, edx
jg 0x10061eb4
jl 0x10063117
cmp eax, 0xffffffff
ja 0x10061eb4
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, esi
call fcn.10060730
mov ecx, edi
mov esi, eax
call fcn.10060730
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x100613ff.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100633a9
mov ecx, edi
call fcn.10060640
mov ecx, edi
test al, al
je 0x1006332f
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060640
test al, al
je 0x1006328d
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne case.default.0x100613ff
cmp esi, 1
jne 0x10063270
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x10063205
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x10063214
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x1006324e
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
push 0x88
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x10061c8c
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
lea ecx, [esp + 0x10]
push 0x88
call fcn.10060d10
jmp 0x10061c8c
push 0x89
lea ecx, [esp + 0x14]
call fcn.10060d10
push esi
lea ecx, [esp + 0x14]
call fcn.10067d70
jmp 0x10061c8c
mov ecx, ebx
call fcn.10060b40
test al, al
je 0x100632c0
push 0x8c
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
dec dword [esp + 0x14]
jmp case.0x100613ff.63
mov ecx, ebx
call fcn.10060b50
test al, al
je 0x1006330d
push 0x120
lea ecx, [esp + 0x14]
call fcn.10060d10
test byte [esp + 0x14], 8
je case.0x100613ff.63
mov ecx, dword [esp + 0x24]
call fcn.100608e0
test al, al
je case.0x100613ff.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10067d40
and dword [esp + 0x14], 7
jmp case.0x100613ff.63
mov ecx, ebx
call fcn.10060b60
test al, al
je case.default.0x100613ff
push 0x121
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp case.0x100613ff.63
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060640
test al, al
je case.default.0x100613ff
mov ecx, edi
call fcn.10060b40
test al, al
je 0x10063372
push 0x8e
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, ebx
jmp 0x100632a8
mov ecx, edi
call fcn.10060b50
test al, al
je 0x10063387
push 0x122
jmp 0x100632d0
mov ecx, edi
call fcn.10060b60
test al, al
je case.default.0x100613ff
push 0x123
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x100634ca
mov ecx, edi
call fcn.10060610
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x34], esi
call fcn.10060b40
lea ecx, [esp + 0x10]
test al, al
je 0x100633f6
push 0x8e
call fcn.10060d10
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
dec dword [esp + 0x14]
jmp 0x1006175f
push 0
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
cmp dword [esp + 0x14], 0
jne 0x10063462
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060690
test al, al
jne 0x10063462
mov ecx, ebx
call fcn.10060590
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10060600
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10060f90
add esp, 0xc
test al, al
je 0x10063462
push 0xa0
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x100638b0
mov ecx, edi
call fcn.10060600
cmp eax, 1
jne 0x100634b7
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x100634a8
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
push 0x8a
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x1006175f
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
push 0x8a
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x1006175f
cmp esi, 0xa
jne 0x100635f1
mov ecx, ebx
call fcn.10060610
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x34], esi
call fcn.10060b40
lea ecx, [esp + 0x10]
test al, al
je 0x10063519
push 0x8c
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x1006175f
push 0
call fcn.10060d10
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
cmp dword [esp + 0x14], 0
jne 0x10063585
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060690
test al, al
jne 0x10063585
mov ecx, edi
call fcn.10060590
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10060600
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10060f90
add esp, 0xc
test al, al
je 0x10063585
push 0xa2
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x100638b0
mov ecx, ebx
call fcn.10060600
cmp eax, 1
jne 0x100635dc
mov ecx, ebx
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x100635cd
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
push 0x88
lea ecx, [esp + 0x14]
call fcn.10060ca0
mov ebx, esi
jmp 0x1006175f
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x14]
call fcn.10060ca0
mov ebx, esi
jmp 0x1006175f
cmp esi, 0x19
jne 0x10063732
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
mov byte [esp + 0x30], al
cmp al, 1
jne 0x1006367d
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x1006363d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x1006364c
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
mov edi, dword [esp + 0x24]
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100645be
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x100636d2
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
jne 0x100636d2
push ebx
push esi
call fcn.10067de0
add esp, 8
test al, al
je 0x100636f6
mov ecx, dword [esp + 0x24]
push 1
call fcn.10060920
test al, al
je 0x100636f6
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x14]
call fcn.10060d10
push dword [esp + 0x30]
lea ecx, [esp + 0x14]
call fcn.10067e20
mov edi, dword [esp + 0x24]
jmp 0x100645be
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10067ca0
add esp, 8
test al, al
je 0x100636d2
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.10060d10
mov dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x100613ff.63
cmp esi, 0x1a
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov dword [esp + 0x48], eax
test eax, eax
je 0x1006440e
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x14]
call fcn.10060d10
push dword [esp + 0x48]
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, ebx
mov dword [esp + 0x14], 0
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x48]
lea edx, [esp + 0x4c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], 4
call fcn.10067d00
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x10063844
mov ecx, edi
call fcn.10060610
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060620
test al, al
je case.default.0x100613ff
cmp dword [esp + 0x14], 0
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060690
test al, al
jne 0x10063835
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060bd0
cmp eax, 2
jne 0x100638b0
mov ecx, 0x2b
call fcn.10060590
jmp 0x10061553
cmp esi, 0xa
jne 0x100638f6
mov ecx, ebx
call fcn.10060610
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.10060d10
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060620
test al, al
je case.default.0x100613ff
cmp dword [esp + 0x14], 0
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060690
test al, al
jne 0x10063835
mov ecx, esi
call fcn.10060590
mov ecx, eax
call fcn.10060700
mov ecx, dword [esp + 0x24]
mov esi, eax
mov edi, edx
call fcn.10060910
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x30], al
call fcn.10060590
mov ecx, eax
call fcn.10060c00
push eax
lea ecx, [esp + 0x20]
call fcn.10060ed0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x100613ff.1
cmp esi, 0x19
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060ae0
test al, al
je case.default.0x100613ff
mov ecx, edi
call fcn.10060610
push 0xb8
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060d10
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.10060590
mov ecx, eax
call fcn.10060730
push 8
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10067e40
mov edi, dword [esp + 0x24]
jmp 0x100645be
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 + 0x100a8260]
mov dword [esp + 0x10], eax
cmp esi, 9
jne 0x10061add
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, 1
jne case.0x100613ff.63
jmp 0x1006236c
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060ae0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e50
mov ecx, ebx
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, ebx
mov esi, eax
call fcn.10060590
mov ecx, eax
call fcn.10060630
mov ecx, esi
mov bl, al
call fcn.10060630
cmp al, bl
jne case.default.0x100613ff
mov ecx, esi
call fcn.10060680
test al, al
jne case.default.0x100613ff
mov ecx, esi
call fcn.100606e0
test al, al
jne case.default.0x100613ff
mov ecx, esi
call fcn.10060bf0
test al, al
je 0x10063a50
mov ecx, esi
call fcn.10060c00
cmp eax, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 0xb
jne 0x10063abc
mov ecx, ebx
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10060e30
add eax, esi
lea ecx, [esp + 0x10]
push eax
call fcn.10060d10
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067e00
jmp 0x100616a0
cmp esi, 9
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
cmp eax, 2
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10060ca0
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067e00
jmp case.0x100613ff.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
cmp eax, 2
jne case.default.0x100613ff
lea edx, [eax + 4]
mov ecx, ebx
call fcn.10060da0
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
mov edi, eax
test edi, edi
je 0x1006440e
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.10060ca0
push edi
lea ecx, [esp + 0x14]
call fcn.10067e00
jmp 0x100615cc
cmp esi, 1
jne 0x10063c29
mov ecx, edi
call fcn.10060b40
test al, al
je 0x10063cd0
mov ecx, edi
call fcn.10060610
cmp eax, 7
jae 0x10063cc1
push dword [eax*4 + 0x100932a0]
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x10093258]
lea ecx, [esp + 0x20]
push eax
call fcn.10067d20
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x100652f8
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.10060e70
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10060f30
mov edi, dword [esp + 0x24]
jmp 0x10067752
cmp esi, 3
jne 0x10063d18
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060730
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.10067c70
add esp, 8
test al, al
je 0x10063c7f
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
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 0x10063ba3
cmp esi, 1
jne 0x10063d18
mov ecx, edi
call fcn.10060b40
test al, al
je 0x10063cd0
mov ecx, edi
call fcn.10060610
cmp eax, 2
je 0x10063cc1
cmp eax, 7
jae 0x10063cc1
push dword [eax*4 + 0x10093788]
jmp 0x10063ba3
mov ecx, 0x31
call fcn.10060590
jmp 0x10061553
mov ecx, edi
call fcn.10060600
cmp eax, 2
jb case.default.0x100613ff
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067e00
mov ecx, edi
call fcn.10060610
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x100645be
cmp esi, 2
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
test eax, eax
je 0x1006440e
mov ecx, edi
call fcn.10060600
cmp eax, esi
je 0x10063d55
mov ecx, edi
call fcn.10060600
mov ecx, dword [esp + 0x24]
mov esi, eax
call fcn.10060910
cmp esi, eax
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067e00
jmp 0x1006175d
test esi, esi
jne 0x10063d7f
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp case.0x100613ff.1
cmp esi, 3
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10063dc6
mov ecx, dword [esp + 0x20]
lea edx, [esi + 0x20]
call fcn.10067d10
test al, al
jne 0x10063dc6
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp case.0x100613ff.1
mov byte [esp + 0x30], 2
jmp case.0x100613ff.1
mov eax, dword [edi]
mov ecx, edi
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x10063eb4
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, 1
jne 0x10063e3e
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10063e2c
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10063e3a
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10063e63
mov ecx, ebx
call fcn.10060610
cmp eax, 1
jne case.default.0x100613ff
push 2
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp case.0x100613ff.63
cmp esi, 0x19
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
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 0x10063ea4
mov ecx, dword [esp + 0x20]
lea edx, [esi + 7]
call fcn.10067d10
test al, al
je case.0x100613ff.63
push 0x10
lea ecx, [esp + 0x14]
call fcn.10060d20
jmp 0x10061450
call fcn.10060600
test eax, eax
je 0x1006440e
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
cmp esi, 0xa
jne 0x10063ef7
mov ecx, ebx
call fcn.10060610
cmp eax, 1
jne case.default.0x100613ff
push 2
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x1006175d
cmp esi, 0x1a
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
movzx eax, al
xor cl, cl
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x30], cl
cmp eax, 1
jne 0x10063f3e
mov ecx, dword [esp + 0x20]
lea edx, [esi + 6]
call fcn.10067d10
test al, al
je 0x1006175d
push 0x10
lea ecx, [esp + 0x14]
call fcn.10060d20
mov eax, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006175d
cmp esi, 1
jne case.0x100613ff.14
mov ecx, edi
call fcn.10060610
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x10063f9b
cmp eax, 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x100613ff.63
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x100613ff.63
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10063ffa
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, ebx
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060590
mov ecx, eax
call fcn.10060730
jmp 0x10061448
cmp esi, 0xca
jne 0x10064046
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d70
mov ecx, ebx
call fcn.10060610
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006175f
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
cmp esi, 0x49
jne 0x1006406e
mov ecx, dword [ebp + 0x14]
call fcn.10060610
cmp eax, 1
jne case.default.0x100613ff
mov ecx, edi
jmp 0x10062107
cmp esi, 0x4a
jne case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
call fcn.10060610
cmp eax, 1
jne case.default.0x100613ff
mov ecx, ebx
jmp 0x10062136
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, ebx
mov esi, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
test eax, eax
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
xor edx, edx
mov ecx, eax
call fcn.10060660
test al, al
je case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov edi, eax
call fcn.100605f0
test al, al
je 0x100640ee
mov ecx, ebx
call fcn.10060600
cmp eax, edi
jne 0x10064519
push edi
lea ecx, [esp + 0x14]
call fcn.10067d90
jmp 0x100615cc
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, edi
mov esi, edi
call fcn.10060590
mov ecx, eax
call fcn.10060720
test eax, eax
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060590
xor edx, edx
mov ecx, eax
call fcn.10060660
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
mov ecx, edi
mov ebx, eax
call fcn.100605f0
test al, al
je 0x1006415c
mov ecx, edi
call fcn.10060600
cmp eax, ebx
jne 0x10064519
push ebx
lea ecx, [esp + 0x14]
call fcn.10067d90
jmp 0x100615cc
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060590
mov ecx, eax
call fcn.100606c0
mov ecx, ebx
mov esi, eax
call fcn.10060590
mov ecx, eax
call fcn.100606c0
cmp esi, eax
jne case.default.0x100613ff
mov ecx, edi
mov esi, ebx
call fcn.10060590
mov ecx, eax
call fcn.100606e0
test al, al
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
mov ebx, eax
test ebx, ebx
je 0x1006440e
jmp 0x1006414d
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064279
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
jne 0x10064519
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne case.0x100613ff.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006424f
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x1006425e
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100622e3
jmp 0x100622c6
cmp esi, 0xa
jne 0x100642c5
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne 0x1006175d
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10061d9b
jmp 0x10061d7e
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
lea ecx, [esp + 0x10]
call fcn.10060c00
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x100643fa
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060600
cmp eax, 1
jne 0x1006436d
mov ecx, edi
call fcn.10060ad0
lea ecx, [esp + 0x20]
test al, al
jne 0x1006433d
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.100608b0
jmp 0x1006434c
mov edx, Ordinal_2
call fcn.100608b0
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100643a7
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], 4
call fcn.10060600
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10067d00
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x100613ff.63
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
jne case.0x100613ff.63
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, edi
call fcn.10060600
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp case.0x100613ff.1
cmp esi, 0x1a
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
test eax, eax
jne 0x10064418
mov eax, 0x34
jmp 0x10061553
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], 4
call fcn.10060600
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10067d00
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x100613ff.61
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067d90
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
cmp eax, 1
jne 0x1006175f
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100644cc
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 0x1006175f
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064654
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
cmp esi, eax
je 0x10064523
mov eax, 0x35
jmp 0x10061553
cmp esi, 1
je 0x10064223
cmp dword [esp + 0x58], 0x668
jne 0x10064645
cmp dword [esp + 0x14], 0
je 0x1006454c
cmp dword [esp + 0x18], 0
jne 0x10064645
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.100608f0
test al, al
je 0x1006457a
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x1006457a
cmp esi, 4
jb 0x1006457a
cmp esi, 8
jne 0x10064645
push 0x8000000
jmp 0x100645a7
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10067d10
test al, al
jne 0x10064645
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
add dword [esp + 0x14], eax
push esi
call fcn.10067d90
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.10060d30
push 0x90
lea ecx, [esp + 0x14]
call fcn.10060d40
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e40
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10060ce0
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10060e10
test al, al
jne 0x100652f8
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10067d20
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10060ca0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10060e70
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10060f30
jmp 0x10067752
push esi
lea ecx, [esp + 0x14]
call fcn.10067d90
jmp case.0x100613ff.63
cmp esi, 0xa
jne case.default.0x100613ff
jmp 0x1006427e
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100646bb
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10067d10
test al, al
je case.0x100613ff.63
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034bf1
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x100646d0
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, ebx
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100647a5
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x100647ca
test ecx, ecx
jne case.default.0x100613ff
push 0xff
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.10060d50
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x10093258]
lea ecx, [esp + 0x20]
push eax
call fcn.10067d20
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 0x10067752
cmp esi, 2
je 0x100647ed
jmp case.default.0x100613ff
test esi, esi
jne 0x100647b8
lea ecx, [esi + 1]
jmp 0x100647c6
cmp esi, 1
jne 0x100647e4
mov ecx, edi
call fcn.10060610
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.0x100613ff.65
cmp esi, 2
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
xor ecx, ecx
cmp eax, 4
setne cl
lea ecx, [ecx*4 + 0xd8]
push ecx
lea ecx, [esp + 0x14]
call fcn.10060d10
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.10060d30
jmp 0x1006175d
cmp esi, 2
jne 0x100648c4
mov ecx, edi
mov ebx, edi
call fcn.10060600
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x1006484f
push 0x1000
mov ecx, esi
call fcn.10060c60
test al, al
jne 0x1006175f
mov ecx, edi
call fcn.10060600
cmp eax, 8
jne 0x1006487b
push 0x2000
mov ecx, esi
call fcn.10060c60
test al, al
je 0x1006487b
push 4
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x1006175f
mov ecx, edi
call fcn.10060600
cmp eax, 0xa
jne case.default.0x100613ff
push 0x800
mov ecx, esi
call fcn.10060c60
test al, al
je case.default.0x100613ff
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
lea ecx, [esp + 0x10]
call fcn.10060c00
mov dword [esp + 0x14], eax
jmp 0x1006175f
cmp esi, 1
jne case.default.0x100613ff
mov eax, dword [esp + 0x58]
cmp eax, 0xce
jne 0x100648e9
mov ecx, edi
call fcn.10060610
add eax, 0x364c0
jmp 0x10064750
cmp eax, 0xec
jne 0x10064901
mov ecx, edi
call fcn.10060610
add eax, 0x374d0
jmp 0x10064750
cmp eax, 0xef
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
add eax, 0x374d8
jmp 0x10064750
cmp esi, 2
jne case.default.0x100613ff
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, edi
mov ebx, edi
call fcn.10060600
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10064966
push 0x800
mov ecx, esi
call fcn.10060c60
test al, al
je 0x10064966
push 4
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x1006175f
mov ecx, edi
call fcn.10060600
cmp eax, 4
jne 0x10064986
push 0x1000
mov ecx, esi
call fcn.10060c60
test al, al
jne 0x1006175f
mov ecx, edi
call fcn.10060600
cmp eax, 8
jne case.default.0x100613ff
push 0x2000
mov ecx, esi
call fcn.10060c60
test al, al
je case.default.0x100613ff
mov ecx, dword [esp + 0x38]
call fcn.10060e30
and eax, 0xffff1fff
lea ecx, [esp + 0x10]
push eax
call fcn.10060d10
lea ecx, [esp + 0x10]
call fcn.10060c00
mov dword [esp + 0x14], eax
jmp 0x1006175f
test esi, esi
jne case.0x100613ff.70
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp case.0x100613ff.65
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
push eax
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp case.0x100613ff.65
cmp esi, 1
jne 0x10064a29
mov ecx, edi
call fcn.10060610
test eax, eax
jne case.default.0x100613ff
mov ecx, dword [esp + 0x38]
call fcn.10060e30
jmp 0x10064750
cmp esi, 2
jne case.default.0x100613ff
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.10060d30
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10064a9b
mov ecx, ebx
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
mov ecx, dword [ebp + 0x14]
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0xca
jne case.default.0x100613ff
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, ebx
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
mov ecx, dword [ebp + 0x14]
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov ecx, ebx
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10064b3d
mov ecx, ebx
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
mov ecx, dword [ebp + 0x14]
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062116
cmp esi, 0xca
jne case.default.0x100613ff
jmp 0x10064ab8
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064bb3
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10067d10
test al, al
je case.0x100613ff.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x100613ff.63
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034bf1
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x10064bc8
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x10064c0f
mov ecx, edi
call fcn.10060600
cmp eax, 1
je case.default.0x100613ff
jmp 0x1006315a
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
cmp eax, 1
je case.default.0x100613ff
mov ecx, ebx
jmp 0x10062136
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064d05
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060b20
test al, al
je 0x10064ca3
mov ecx, ebx
call fcn.10060b20
test al, al
je 0x10064ca3
push 0x16f
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10067d10
test al, al
je case.0x100613ff.63
push 0x10
jmp 0x10061ca4
mov ecx, edi
call fcn.10060b10
test al, al
je 0x10064d9d
mov ecx, ebx
call fcn.10060b10
test al, al
je 0x10064d9d
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10067d10
test al, al
je case.0x100613ff.63
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.10060d10
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034bf1
jmp case.0x100613ff.63
cmp esi, 0x11
jne 0x10064d51
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060b20
test al, al
je 0x10064d33
push 0x16f
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x1006175f
mov ecx, edi
call fcn.10060b10
test al, al
je 0x10064d9d
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x1006175f
cmp esi, 0xa
jne 0x10064d9d
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060b20
test al, al
je 0x10064d7f
push 0x17f
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x1006175d
mov ecx, ebx
call fcn.10060b10
test al, al
je 0x10064d9d
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x1006175d
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.10060d40
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 0x10064def
mov ecx, ebx
call fcn.10060640
test al, al
je 0x10064df8
mov ecx, ebx
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
je 0x1006175f
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, ebx
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
cmp esi, 9
jne 0x1006191a
mov ecx, edi
call fcn.10060640
jmp 0x10061a6b
mov ecx, dword [ebp + 0x14]
call fcn.100605b0
test al, al
jne 0x10064e6b
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10060bb0
test al, al
je case.default.0x100613ff
and esi, 0x3f
jmp case.0x100613ff.73
mov ecx, dword [ebp + 0x14]
call fcn.100605b0
test al, al
jne 0x10064e6b
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.10060da0
test al, al
je case.default.0x100613ff
and esi, 0x3f
jmp case.0x100613ff.73
mov ecx, dword [ebp + 0x10]
call fcn.10060600
cmp eax, 8
lea ecx, [esp + 0x10]
sete al
movzx eax, al
push eax
call fcn.10067e50
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 0x10064ee6
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
jne case.default.0x100613ff
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064f42
mov ecx, edi
call fcn.10060b10
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10060b10
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10067e70
mov ecx, edi
call fcn.10060610
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064f92
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
je 0x1006316b
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
lea ecx, [esp + 0x10]
call fcn.10060c00
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065034
mov ecx, edi
call fcn.10060b10
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10060b10
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10067e70
mov ecx, edi
call fcn.10060610
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
je 0x10064f4b
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
lea ecx, [esp + 0x10]
call fcn.10060c00
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
jmp 0x10064fc2
mov ecx, dword [ebp + 0x14]
call fcn.10060590
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 + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x100650c5
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0xd1
jmp 0x10061ae0
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 + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065137
mov ecx, edi
call fcn.10060b10
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10060b10
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10067e70
mov ecx, edi
call fcn.10060610
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0xd1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060b10
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e60
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp 0x1006175f
mov ecx, edi
call fcn.10060610
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x100613ff.63
cmp esi, 0xd9
jne case.default.0x100613ff
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10060c00
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
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.0x100613ff.63
mov ecx, dword [ebp + 0x18]
call fcn.100605a0
shl eax, 9
mov ecx, edi
add eax, esi
mov dword [esp + 0x4c], eax
call fcn.10060610
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10060610
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
cmp eax, 9
je case.0x100613ff.63
cmp eax, 0x6c9
jne case.default.0x100613ff
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, dword [ebp + 0x18]
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
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.0x100613ff.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 + 0x40], eax
mov byte [esp + 0x34], al
call fcn.10060d10
mov ecx, edi
call fcn.10060610
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
cmp esi, 9
jne 0x100652ea
mov ecx, ebx
call fcn.10060610
mov dword [esp + 0x18], eax
jmp case.0x100613ff.63
cmp esi, 0x11
jne case.default.0x100613ff
jmp 0x1006175f
mov eax, 0x25
jmp 0x10061553
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 0x10065357
push 0x18
lea ecx, [esp + 0x14]
call fcn.10060d60
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d50
mov edi, dword [esp + 0x24]
jmp 0x10067752
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10067d40
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10067d40
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10067d40
mov edi, dword [esp + 0x24]
jmp 0x10067752
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006542d
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10060640
test al, al
je 0x100653d6
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp case.0x100613ff.93
mov ecx, edi
call fcn.10060640
test al, al
je 0x100653fa
mov ecx, dword [esp + 0x38]
call fcn.10060e30
inc eax
lea ecx, [esp + 0x10]
push eax
call fcn.10060d10
jmp case.0x100613ff.93
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10067d10
test al, al
je case.0x100613ff.93
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034bf1
jmp case.0x100613ff.93
cmp esi, 0x11
jne 0x1006543e
mov ecx, edi
call fcn.10060610
jmp 0x100665a7
cmp esi, 0xa
jne case.default.0x100613ff
push 1
lea ecx, [esp + 0x14]
call fcn.10060ca0
jmp 0x1006659e
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10060590
mov ecx, eax
call fcn.10060ae0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e50
jmp case.0x100613ff.93
cmp esi, 2
jne case.default.0x100613ff
mov ebx, edi
jmp 0x100665ab
mov ecx, edi
call fcn.10060600
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov ecx, ebx
call fcn.10060600
or esi, eax
mov ecx, esi
call fcn.10060df0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
mov eax, dword [esp + 0x48]
cmp eax, 9
jne 0x100654d8
mov ecx, ebx
call fcn.10060610
mov ecx, edi
jmp 0x100674ed
cmp eax, 0xa
jmp 0x10066598
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060600
mov ecx, eax
call fcn.10060df0
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.10060de0
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10067cf0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp 0x1006659e
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10065575
push 0x2001c5
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060610
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x100613ff.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 + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xca
jmp 0x10066598
mov ecx, edi
call fcn.10060600
mov ecx, dword [ebp + 0x10]
mov esi, eax
call fcn.10060600
or esi, eax
mov ecx, esi
call fcn.10060df0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
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 + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065592
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x100674f6
mov ecx, dword [ebp + 0x14]
call fcn.100605b0
test al, al
jne 0x1006561d
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.10060da0
test al, al
je case.default.0x100613ff
and esi, 0x3f
jmp case.0x100613ff.103
mov ecx, edi
call fcn.10060ae0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10060ae0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10067e80
jmp case.0x100613ff.103
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
call fcn.10060600
test eax, eax
je 0x10065678
mov ecx, ebx
call fcn.10060600
mov ecx, eax
call fcn.10060df0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp case.0x100613ff.103
mov ecx, edi
call fcn.10060600
cmp eax, 0x20
jne case.0x100613ff.103
push 0x40000000
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp case.0x100613ff.103
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne case.0x100613ff.106
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060640
test al, al
je case.0x100613ff.106
mov ecx, edi
call fcn.10060600
mov ecx, ebx
mov esi, eax
call fcn.10060600
or esi, eax
mov ecx, esi
call fcn.10060df0
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.10060e30
or esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.10060d10
mov ecx, edi
call fcn.10060610
jmp 0x100674eb
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 + 0x100936c8]
or dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065720
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100674f6
cmp esi, 0x11
jne case.default.0x100613ff
mov eax, dword [edi + 4]
jmp 0x100665a7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov ecx, eax
call fcn.10060df0
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10060de0
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10067cf0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, edi
call fcn.10060610
jmp 0x100665a7
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.10060650
mov ebx, dword [ebp + 0x10]
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060650
test al, al
je case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
call fcn.10060650
test al, al
je case.default.0x100613ff
mov ecx, dword [ebp + 0x18]
call fcn.10060650
test al, al
je case.default.0x100613ff
mov ecx, dword [esp + 0x48]
call fcn.10060650
test al, al
je case.default.0x100613ff
mov ecx, esi
call fcn.100605d0
test al, al
je case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10060610
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10060610
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
call fcn.10060610
mov edx, eax
test bl, 3
jne 0x1006584e
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x1006584e
lea ecx, [ebx + 2]
cmp dword [esp + 0x4c], ecx
jne 0x1006584e
lea eax, [ebx + 3]
cmp edx, eax
jne 0x1006584e
mov ecx, edi
call fcn.10060610
mov edx, ebx
mov ecx, eax
call fcn.10060dd0
mov ebx, dword [esp + 0x34]
jmp 0x100665a7
mov ecx, 0x3c
call fcn.10060590
jmp 0x10061553
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.0x100613ff.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 + 0x100936c8]
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 + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x100658ee
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100674f6
cmp esi, 0xd1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
jmp 0x100665a7
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x100613ff.115
mov edx, 2
mov ecx, eax
call fcn.10060660
test al, al
je case.default.0x100613ff
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x8000000
cmp eax, 0x8000039
mov dword [esp + 0x4c], edx
cmove ecx, edx
mov edx, dword [ebp + 0x14]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x4c]
or ecx, eax
or dword [esp + 0x10], ecx
jmp 0x1006598e
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 + 0x100936c8]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065b5d
cmp esi, 0x89
jne case.default.0x100613ff
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x100665a7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
test al, 1
jne 0x10065a3f
mov ecx, edi
call fcn.10060610
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10060610
cmp esi, eax
jne 0x10065a3f
mov ecx, dword [ebp + 0x14]
call fcn.10060600
mov ecx, eax
call fcn.10060df0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, dword [ebp + 0x14]
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100605c0
mov ecx, ebx
test al, al
jne 0x100674f1
call fcn.100605d0
test al, al
je case.default.0x100613ff
jmp 0x100665ab
mov ecx, 0x1d
call fcn.10060590
jmp 0x10061553
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 + 0x100936c8]
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 + 0x3c], eax
mov byte [esp + 0x30], al
cmp ecx, 0x249
jne 0x10065ab2
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x14]
shl eax, 7
add eax, dword [edi + 4]
jmp 0x100674ed
cmp ecx, 0x289
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ebx, dword [ebp + 0x14]
jmp 0x100665a7
mov ecx, edi
call fcn.10060b30
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e90
jmp case.0x100613ff.122
mov ecx, edi
call fcn.10060b30
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10067e90
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 + 0x100936c8]
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 + 0x4c], eax
xor eax, eax
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x4c]
cmp eax, 0x649
jne 0x10065b75
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 0x100674f6
cmp eax, 0x689
jmp 0x10065ab8
mov ecx, edi
call fcn.10060ae0
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10060ae0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10067e80
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100674d1
cmp esi, 0x51
jne case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
jmp 0x100665a7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x100613ff.128
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x1006573d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x51
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060600
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10060600
or esi, eax
mov ecx, esi
call fcn.10060df0
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10060de0
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10067cf0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp 0x10065bb7
mov ecx, dword [ebp + 0x18]
call fcn.100605a0
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
shl eax, 9
add eax, esi
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x18]
or ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x100674d1
cmp eax, 0x651
jmp 0x10065bb1
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065d3a
mov ecx, edi
call fcn.10060640
test al, al
je 0x10065cd8
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
mov ecx, edi
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067db0
mov ecx, ebx
call fcn.10060610
mov ecx, edi
jmp 0x100674ed
mov ecx, ebx
call fcn.10060640
test al, al
je 0x10065d00
mov ecx, ebx
call fcn.10060600
push eax
lea ecx, [esp + 0x14]
call fcn.10067db0
mov ecx, edi
call fcn.10060610
jmp 0x100674eb
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.10060d50
test eax, eax
je 0x10065d7d
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.10060d30
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, edi
call fcn.10060610
jmp 0x100674eb
cmp esi, 0x11
jne 0x10065d81
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.10060d50
test eax, eax
je 0x10065771
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.10060d30
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, edi
call fcn.10060610
jmp 0x100665a7
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
cmp esi, 0xa
jne case.default.0x100613ff
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.10060d50
test eax, eax
je 0x1006659e
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.10060d30
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp 0x1006659e
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 + 0x100936c8]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065e08
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100674f6
cmp esi, 0x11
je 0x10065771
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
jmp 0x10066595
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x10065ea8
mov ecx, dword [ebp + 0x14]
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10067d10
test al, al
je case.0x100613ff.93
lea ecx, [esp + 0x10]
call fcn.10060cb0
mov ecx, ebx
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ecx, dword [ebp + 0x14]
jmp 0x100674ed
cmp esi, 0x51
je 0x10065bb7
cmp esi, 0x89
jne case.default.0x100613ff
lea ecx, [esp + 0x10]
call fcn.10060cb0
jmp 0x10065abe
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 + 0x100936c8]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065b5d
cmp esi, 0x89
je 0x10065abe
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, dword [ebp + 0x14]
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065f58
mov ecx, edi
call fcn.10060610
jmp 0x100674eb
cmp esi, 0xd1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
jmp 0x100665a7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065e3f
cmp esi, 0x51
je 0x10065bb7
cmp esi, 0x89
jne 0x10065f9b
lea ecx, [esp + 0x10]
call fcn.10060cb0
jmp 0x10065abe
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x10065f23
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065e87
cmp esi, 0x89
je 0x10065abe
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
cmp esi, 9
jne 0x10066595
mov ecx, ebx
call fcn.10060610
mov ecx, edi
jmp 0x100674ed
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 + 0x100936c8]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065b5d
cmp esi, 0x89
je 0x10065abe
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
cmp esi, 0x4a
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
jmp 0x100665a5
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 + 0x100936c8]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065b5d
cmp esi, 0x89
je 0x10065abe
push 0x60001000
lea ecx, [esp + 0x14]
call fcn.10060d30
mov ecx, dword [esp + 0x38]
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
lea ecx, [esp + 0x10]
call fcn.10060c00
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10060590
mov ecx, eax
call fcn.10060730
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10066128
mov ecx, edi
call fcn.10060610
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100674e6
cmp esi, 0xd1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.10060dd0
jmp 0x100665a7
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 0x1006619e
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100674f6
cmp esi, 0x11
jmp 0x1006612e
cmp esi, 0xd1
jne case.0x100613ff.146
lea ecx, [esp + 0x10]
call fcn.10060cc0
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 + 0x100936c8]
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 0x1006621a
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10066203
mov ecx, ebx
call fcn.10060600
cmp eax, 8
je 0x10066203
xor eax, eax
jmp 0x10066208
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 + 0x3c], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
jne 0x10066243
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100674f6
cmp esi, 0xd1
jne case.default.0x100613ff
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100665ab
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 + 0x100936c8]
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 0x100662c7
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.0x100613ff.93
cmp eax, 0x449
jne 0x1006631d
lea ecx, [esp + 0x10]
call fcn.10060cb0
mov ecx, ebx
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10060610
shl eax, 4
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100665ab
cmp eax, 0x289
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x100662f6
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
lea eax, [ecx + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [eax]
and eax, 7
cmp al, 3
jne case.default.0x100613ff
call fcn.100605a0
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10060600
mov ecx, edi
mov esi, eax
call fcn.10060600
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10060600
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10060600
or eax, esi
mov ecx, eax
call fcn.10060df0
push eax
lea ecx, [esp + 0x14]
call fcn.10060d40
mov ecx, dword [esp + 0x4c]
call fcn.10060590
mov ecx, eax
call fcn.10067cd0
and al, 0xf
movzx eax, al
cdq
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x40]
cmp eax, 0x249
jne 0x10066420
mov ecx, ebx
call fcn.10060610
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060610
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10060610
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x100613ff.93
cmp eax, 0x449
jne 0x10066464
lea ecx, [esp + 0x10]
call fcn.10060cb0
mov ecx, ebx
call fcn.10060610
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10060610
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x100665ab
cmp eax, 0x289
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ecx, dword [ebp + 0x18]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10060610
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x100665ab
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10065b5d
cmp esi, 0x11
je 0x10065771
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, eax
call fcn.10060e30
push eax
lea ecx, [esp + 0x14]
call fcn.10060d10
jmp 0x1006659e
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 + 0x100936c8]
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 0x100662c7
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 0x1006654b
lea ecx, [esp + 0x10]
call fcn.10060cb0
mov ecx, dword [ebp + 0x18]
call fcn.10060610
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10060610
jmp 0x100662ae
mov ecx, dword [ebp + 0x14]
call fcn.10060610
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10060610
jmp 0x100662ae
cmp esi, 1
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
mov dword [esp + 0x14], eax
jmp case.0x100613ff.93
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x100613ff
mov ecx, edi
call fcn.10060610
jmp 0x100665a7
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x100613ff
mov ecx, ebx
call fcn.10060610
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.100605a0
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.100606c0
mov ecx, ebx
movzx eax, byte [eax + 0x100932c0]
mov dword [esp + 0x38], eax
call fcn.10060590
mov ecx, eax
call fcn.10060c00
push eax
lea ecx, [esp + 0x20]
call fcn.10060ed0
lea ecx, [esp + 0x1c]
call fcn.10060760
mov edi, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10060c40
test dword [esp + 0x38], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10067d60
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.100606a0
test al, al
je 0x10066633
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.100606b0
test al, al
je 0x10066659
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.100606d0
mov dword [esp + 0x50], eax
jmp 0x10066661
mov dword [esp + 0x50], 0
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060c20
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10060610
mov edx, dword [esp + 0x50]
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.10060cf0
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x34], eax
call fcn.10060760
mov ecx, eax
call fcn.10060880
mov edx, 0x400000
mov ecx, eax
call fcn.10060c50
mov esi, dword [esp + 0x34]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x34], esi
call fcn.10060890
mov edx, 0x80000
mov ecx, eax
call fcn.10060890
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10067d10
test al, al
je 0x10066754
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10060890
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10067d10
test al, al
jne 0x1006759d
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.100608a0
or esi, eax
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x44]
call fcn.10060c80
test al, al
je 0x1006678e
test esi, 0x80df8110
jne 0x1006679a
mov edx, 0x400
mov ecx, 0x800
call fcn.10060890
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10067d10
test al, al
jne 0x1006678e
or esi, 0x10
mov dword [esp + 0x34], esi
test esi, 0x80df8110
je 0x1006690b
push 4
lea ecx, [esp + 0x14]
call fcn.10060d70
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.10060d70
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x48], eax
test eax, 0x10000000
je 0x100668bc
mov ecx, dword [esp + 0x44]
call fcn.10060c90
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10060590
mov ecx, eax
call fcn.10060c30
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x100668ad
mov esi, dword [esp + 0x48]
mov ecx, edx
mov eax, esi
mov dword [esp + 0x4c], 4
and eax, 0x60000000
mov dword [esp + 0x6c], eax
call fcn.10067f00
lea edx, [esp + 0x4c]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x48]
call fcn.10067cf0
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x34], eax
cmp eax, 0x40000000
ja 0x100668ad
lea edx, [esp + 0x34]
lea ecx, [esp + 0x6c]
call fcn.10067cf0
and esi, 0x9fffffff
lea ecx, [esp + 0x10]
push 0xffff1fff
or esi, eax
call fcn.10060d30
mov ecx, dword [esp + 0x5c]
call fcn.10067f00
shl eax, 0xd
lea ecx, [esp + 0x10]
push eax
call fcn.10060d40
push esi
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x100669b5
mov ecx, 0x29
call fcn.10060590
jmp 0x10061553
push 0x19
lea ecx, [esp + 0x14]
call fcn.10060d70
mov esi, eax
lea ecx, [esp + 0x10]
push 0xd
and esi, 4
call fcn.10060d70
mov ecx, dword [esp + 0x48]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x10093198]
lea ecx, [esp + 0x14]
call fcn.10060ca0
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push esi
call fcn.10067d50
jmp 0x100669b5
push 0xd
lea ecx, [esp + 0x14]
call fcn.10060d70
mov esi, eax
lea ecx, [esp + 0x10]
push 0xc
and esi, 0x300
call fcn.10060d70
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.10060e20
push 0xffff1fff
lea ecx, [esp + 0x14]
or esi, eax
call fcn.10060d30
test esi, 0x8000807e
je 0x10066991
push 0x18
lea ecx, [esp + 0x14]
call fcn.10060d60
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x10093260]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x100669c2
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10067d40
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10067d40
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10067d40
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.10060c60
test al, al
jne 0x100670a5
mov eax, dword [esp + 0x38]
test al, 0x42
jne 0x10066f8f
test al, 1
je 0x10066b73
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov ebx, eax
call fcn.10060e00
mov ecx, dword [esp + 0x48]
add esp, 4
mov esi, eax
call fcn.10060c70
mov ecx, dword [esp + 0x18]
cmp ecx, 4
je 0x10066a83
test al, al
jne 0x10066a83
cmp ecx, 5
je 0x10066a38
test ebx, ebx
je 0x10067189
push 0xe000
lea ecx, [esp + 0x14]
call fcn.10060d50
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.10067ea0
test al, al
je 0x10066a78
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10066a78
lea eax, [esi + 0x40]
jmp 0x10066b17
lea eax, [esi + 0x80]
jmp 0x10066b5a
and esi, 0xf8
or esi, 4
cmp ecx, 5
je 0x10066abf
test ebx, ebx
jne 0x10066abf
push esi
lea ecx, [esp + 0x20]
call fcn.10067d40
push dword [esp + 0x18]
lea edx, [ebx + 4]
xor ecx, ecx
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
jmp 0x1006462b
push 0xe000
lea ecx, [esp + 0x14]
call fcn.10060d50
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.10067ea0
test al, al
je 0x10066b37
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10066b37
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10067d40
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.10060e00
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.10067d40
mov ecx, dword [esp + 0x48]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
jmp 0x1006462b
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10067d40
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.10060e00
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.10067d40
push ebx
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x1006462b
test al, 0x30
jne 0x10066ecf
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060bd0
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10060590
mov ecx, eax
call fcn.10060720
mov ecx, edi
mov dword [esp + 0x34], eax
call fcn.100608e0
test al, al
je 0x10066bc7
cmp esi, 2
je 0x10063835
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10060e00
jmp 0x10066eb0
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov esi, dword [esp + 0x34]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.100608d0
mov ecx, eax
call fcn.10060830
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x10066ccd
and ecx, edx
cmp ecx, 0xffffffff
jne 0x10066c93
cmp dword [esp + 0x48], esi
je 0x10066e88
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x10066cd6
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x10066e88
cmp dword [esp + 0x58], 0x17e
jne 0x10066e7c
movzx eax, al
test al, 0x40
je 0x10066e88
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10066e88
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10067d10
test al, al
jne 0x10066e88
push ebx
lea ecx, [esp + 0x20]
call fcn.10060a80
jmp 0x10066e88
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060c00
cmp dword [esp + 0x58], 0x17e
mov ecx, eax
jne 0x10066cbe
cmp dword [esp + 0x48], esi
je 0x10066cba
cmp dword [esp + 0x50], 0
jne 0x10066cbe
mov al, 1
jmp 0x10066cc0
xor al, al
cmp ecx, 5
jae 0x10066db0
test al, al
jmp 0x10066cd0
cmp eax, 2
jne 0x10066db0
mov ecx, dword [esp + 0x3c]
push dword [edi + 0x6c]
movzx esi, cl
lea ecx, [esp + 0x20]
call fcn.10060a50
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 + 0x38]
mov dword [esp + 0x6c], eax
cmp ecx, 0xffffffff
je 0x10066dd5
mov ecx, dword [edi + 0x68]
call fcn.10060760
test eax, eax
jne 0x10066dd5
mov ecx, dword [edi + 0x68]
call fcn.10060770
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x44]
mov ecx, ebx
adc edi, dword [esp + 0x38]
add esi, dword [esp + 0x5c]
adc edi, dword [esp + 0x6c]
add esi, 5
adc edi, 0
call fcn.10060590
mov ecx, eax
call fcn.10060700
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10067ca0
add esp, 8
test al, al
je 0x10066d92
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x10063c0b
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060be0
test al, al
jne 0x10063835
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x48], esi
je 0x10066e88
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10066c37
mov ecx, 0x2e
call fcn.10060590
jmp 0x10061553
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.10068b10
test eax, eax
jne 0x10061553
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
mov ecx, dword [edi + 0x68]
call fcn.10060760
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10060930
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.10060790
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10060a50
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.100607c0
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060700
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
lea ecx, [esp + 0x1c]
push 0
call fcn.10067eb0
jmp 0x1006462b
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10067ec0
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push 5
mov edx, 4
xor ecx, ecx
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x1006462b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
mov ecx, edi
call fcn.100608e0
test al, al
jne 0x10067266
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
test byte [esp + 0x38], 0x10
mov dword [esp + 0x5c], eax
je 0x10066f80
lea esi, [edi + 0x2c]
mov ecx, ebx
mov dword [esp + 0x58], esi
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov ecx, dword [esi]
push eax
call fcn.10060840
mov esi, eax
mov dword [esp + 0x48], esi
test esi, esi
je 0x100672ca
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
push dword [edi + 0x68]
movzx eax, cl
mov ecx, 0xfffffffc
sub ecx, eax
lea eax, [edi + 0x68]
add ebx, ecx
mov dword [esp + 0x48], eax
mov ecx, esi
call fcn.10060800
test al, al
je 0x100673a2
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10060a50
mov ecx, esi
sub ebx, eax
call fcn.10060810
add eax, ebx
push eax
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x1006462b
test al, 0x40
jne 0x10066fad
mov esi, dword [esp + 0x50]
cmp esi, 4
jne 0x100670b5
lea ecx, [esi + 0x28]
call fcn.10060590
jmp 0x10061553
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
movsx edx, ax
mov eax, dword [esp + 0x38]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], ecx
je 0x1006707a
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x50]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 3
jne 0x10067015
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060c10
test eax, eax
jne 0x10063835
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov al, byte [esi + eax*8 + 0x10093708]
jmp 0x10067025
test al, 2
je 0x1006701f
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x10093190]
movzx ecx, al
cmp ecx, 0xff
je 0x10063835
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067048
cmp esi, 6
jne 0x10067189
mov ecx, edx
call fcn.10067ea0
lea ecx, [esp + 0x1c]
test al, al
je 0x10067072
lea eax, [esi + 0x40]
push eax
call fcn.10067d40
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp 0x1006462b
lea eax, [esi + 0x80]
jmp 0x1006708d
test al, 0x30
jne 0x10063835
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10067d40
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.10067ef0
jmp 0x1006462b
mov eax, dword [esp + 0x38]
test al, 2
je case.default.0x100613ff
mov esi, dword [esp + 0x50]
and esi, 7
test al, 1
je 0x100671b6
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x4c], eax
call fcn.10060e00
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, ebx
push dword [esp + 0x18]
call fcn.10060590
mov ecx, eax
call fcn.10060c10
mov edx, esi
mov ecx, eax
call fcn.10060e00
mov esi, dword [esp + 0x4c]
add esp, 4
mov ebx, eax
mov dword [esp + 0x40], ebx
test esi, esi
jne 0x1006713b
cmp dword [esp + 0x18], 5
je 0x1006713b
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push ebx
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp 0x1006462b
push 0xe000
lea ecx, [esp + 0x14]
call fcn.10060d50
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10067ea0
test al, al
je 0x10067198
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x48]
shl eax, cl
cmp ebx, eax
jne 0x1006719c
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10067d40
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10067d40
push esi
lea ecx, [esp + 0x20]
call fcn.10067d40
jmp 0x1006462b
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10067d40
push dword [esp + 0x40]
jmp 0x10066b5b
test al, 0x30
jne 0x10067217
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push 5
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060c10
mov edx, esi
mov ecx, eax
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
push eax
lea ecx, [esp + 0x20]
call fcn.10067d50
jmp 0x1006462b
mov ecx, edi
call fcn.100608e0
test al, al
je 0x10063835
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
push 5
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060c10
mov edx, esi
mov ecx, eax
call fcn.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
mov ecx, dword [edi + 0x2c]
lea esi, [edi + 0x2c]
push 1
mov dword [esp + 0x5c], esi
call fcn.10060820
mov ecx, dword [esi]
push eax
add ecx, 0x88
call fcn.10067c50
test eax, eax
jne 0x100674b6
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060720
test byte [esp + 0x38], 0x10
mov dword [esp + 0x40], eax
je 0x10067415
mov ecx, ebx
call fcn.10060590
mov ecx, eax
call fcn.10060610
mov ecx, dword [esi]
push eax
call fcn.10060840
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x100672d9
mov ecx, 0xc
call fcn.10060590
jmp 0x10061553
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.10068b10
test eax, eax
jne 0x10061553
mov ecx, dword [edi + 0x68]
lea eax, [edi + 0x68]
mov dword [esp + 0x44], eax
call fcn.10060760
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10060930
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.10060790
mov ecx, dword [esp + 0x3c]
movzx esi, cl
lea ecx, [esp + 0x1c]
push esi
push dword [edi + 0x74]
call fcn.10060a50
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.100607c0
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x40]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, ebx
call fcn.100607f0
test al, al
je 0x1006739b
mov esi, dword [esp + 0x54]
mov ecx, ebx
call fcn.10060810
add dword [esi + 0x20], eax
mov ecx, ebx
adc dword [esi + 0x24], edx
call fcn.100607e0
mov ecx, eax
call fcn.10060760
mov ecx, dword [esp + 0x54]
push 0
mov dword [ecx + 0x14], eax
lea ecx, [esp + 0x20]
call fcn.10067eb0
jmp 0x1006462b
mov ebx, 0xfffffffc
sub ebx, esi
mov dword [esp + 0x50], 4
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10060a50
push dword [esp + 0x50]
lea ecx, [esp + 0x60]
mov esi, eax
push 0
call fcn.10060790
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push ebx
push esi
mov ecx, dword [ecx]
call fcn.10060760
mov ecx, dword [esp + 0x64]
push eax
push dword [esp + 0x58]
mov ecx, dword [ecx]
call fcn.100686e0
mov esi, eax
test esi, esi
je 0x100674b6
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x10067403
call fcn.10060760
mov dword [esi + 8], eax
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.10060a60
jmp 0x1006462b
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.10068b10
test eax, eax
jne 0x10061553
mov ecx, dword [edi + 0x68]
call fcn.10060760
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10060760
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.10060790
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.10060a50
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.100607c0
mov ecx, edi
call fcn.10060930
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.10060780
mov ecx, dword [esp + 0x54]
mov esi, eax
mov eax, dword [esp + 0x40]
cdq
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
adc edx, 0
jmp 0x10066e66
mov ecx, 1
call fcn.10060590
jmp 0x10061553
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x100613ff
mov ecx, dword [ebp + 0x14]
call fcn.10060610
mov ecx, edi
mov esi, eax
call fcn.10060610
mov edx, esi
mov ecx, eax
call fcn.10060dd0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10060610
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 0x100675b3
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x100675b3
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x1006756d
test byte [eax + 4], 0x70
jne 0x1006759d
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x10067595
shr edx, 2
test dl, 1
je 0x1006759d
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x100675ad
shr edx, 3
test dl, 1
jne 0x100675a7
mov eax, 0x2a
jmp 0x10061553
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
test byte [eax + 3], 1
je 0x100675d2
test esi, 0xd78150
jne 0x100675de
test dword [esp + 0x20], 0xc00
jne 0x100675d2
or esi, 0x10
test esi, 0xd78150
je 0x10067673
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.10067d50
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.10060ef0
jmp 0x10067752
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 0x100676f3
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x10093260]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d50
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 0x10067653
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10067d40
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10067d40
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10067d40
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.10060e00
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10067d40
jmp 0x10067659
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.10060ab0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14