Function at 0x10061bb0
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 + 0x10095858]
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 + 0x10094858]
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 0x10061e44
cmp dword [edx + 0x2c], 0
jne 0x10061c86
push 0
push 5
mov ecx, edx
call fcn.100703a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x58], 0
je case.default.0x10061e9f
push 0x10
push edx
lea ecx, [esp + 0x24]
call fcn.100613e0
test eax, eax
jne 0x10061ff3
mov edx, dword [esp + 0x24]
test byte [edx + 0x10], 1
je 0x10061d45
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 0x10061ff3
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax*8 + 0x10095858]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x10094858]
mov dword [esp + 0x50], eax
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x10061dfa
mov eax, dword [esp + 0x50]
and ecx, 0x30000
shr eax, 0x10
test al, 1
jne 0x10061d91
test ecx, ecx
jne 0x10061d95
lea eax, [ecx + 0x21]
jmp 0x10061ff3
test ecx, ecx
je 0x10061def
mov ecx, dword [esp + 0x20]
shr ecx, 0x10
test cl, 1
je 0x10061db6
mov eax, dword [esp + 0x50]
shr eax, 0x11
test al, 1
jne 0x10061db6
mov eax, 0x22
jmp 0x10061ff3
mov eax, dword [esp + 0x20]
shr eax, 0x11
test al, 1
je 0x10061dd6
mov eax, dword [esp + 0x50]
shr eax, 0x12
test al, 1
jne 0x10061dd6
mov eax, 0x23
jmp 0x10061ff3
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 0x10061df3
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x10061e44
mov eax, dword [esp + 0x50]
shr eax, 0xe
test al, 1
je 0x10061ea6
mov eax, dword [edx + 0x48]
test eax, eax
je 0x10061e2b
shr eax, 8
test al, 0xf
jne 0x10061ea6
cmp dword [edx + 0x4c], 1
jne 0x10061ea6
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 + 0x1009585e]
mov ecx, dword [eax*4 + 0x10098c50]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [edx*8 + 0x1009585d]
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.0x10061e9f
mov ebx, dword [esp + 0x40]
jmp dword [ebx*4 + 0x10068224]
mov eax, 0x24
jmp 0x10061ff3
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
jmp case.0x10061e9f.63
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10061e9f
lea ecx, [esp + 0x10]
call fcn.10061770
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061030
mov ecx, eax
call fcn.10068770
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 + 0x100942f0]
lea ecx, [esp + 0x20]
push eax
call fcn.100687c0
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 0x10065d98
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.10061910
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 0x100646ab
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.100610d0
mov ecx, dword [esp + 0x24]
movzx eax, al
movzx esi, byte [eax + 0x10094358]
call fcn.100616e0
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068800
jmp case.0x10061e9f.1
test esi, esi
je case.0x10061e9f.1
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
test eax, eax
je case.0x10061e9f.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.100703a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x10061e9f.1
cmp esi, 9
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
cmp eax, 2
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
jmp case.0x10061e9f.1
test esi, esi
je case.0x10061e9f.1
cmp esi, 2
jne case.default.0x10061e9f
xor edx, edx
mov ecx, edi
call fcn.10061840
test al, al
je case.default.0x10061e9f
mov esi, edi
mov ecx, esi
call fcn.10061030
mov ecx, eax
call fcn.10061160
mov ecx, esi
movzx ebx, byte [eax + 0x10094358]
call fcn.10061030
mov ecx, eax
call fcn.10061180
test al, al
jne case.default.0x10061e9f
test bl, 2
jne case.default.0x10061e9f
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100618e0
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061780
mov edi, eax
mov ecx, edi
call fcn.100618b0
test al, al
jne 0x10065d98
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.100687c0
mov ecx, esi
call fcn.10061030
mov ecx, eax
call fcn.100616a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061970
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.100616e0
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068800
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061910
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.100619d0
jmp 0x100681f2
mov ebx, dword [ebp + 0x10]
cmp esi, 3
jne 0x10062164
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10068770
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061e9f.1
cmp esi, 0x19
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
mov ecx, ebx
jmp 0x10062142
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.0x10061e9f.11
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
jmp case.0x10061e9f.11
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa228]
or eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, 1
je case.0x10061e9f.63
mov ebx, edi
cmp esi, 2
je 0x100621ff
jmp case.default.0x10061e9f
mov ebx, dword [ebp + 0x10]
cmp esi, 0x4a
jne case.0x10061e9f.14
mov edx, 2
mov ecx, ebx
call fcn.10061630
test al, al
je case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061630
test al, al
je case.default.0x10061e9f
mov ebx, edi
mov edi, dword [esp + 0x24]
mov ecx, ebx
call fcn.10061040
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100617f0
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061160
mov ecx, ebx
movzx eax, byte [eax + 0x10094358]
mov dword [esp + 0x38], eax
call fcn.10061030
mov ecx, eax
call fcn.100616a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061970
lea ecx, [esp + 0x1c]
call fcn.10061200
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.100616e0
test dword [esp + 0x38], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10068800
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100618e0
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061030
mov ecx, eax
call fcn.10061170
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.10061780
mov esi, dword [esp + 0x4c]
or esi, eax
mov ecx, esi
call fcn.100618b0
test al, al
jne 0x10065d98
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100687c0
push dword [esp + 0x10]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10061910
jmp 0x10067478
cmp esi, 2
jne case.default.0x10061e9f
mov ebx, edi
mov edi, edx
jmp 0x10062203
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x10061e9f.1
push 0x11f
lea ecx, [esp + 0x14]
call fcn.100617b0
mov dword [esp + 0x14], 0
cmp esi, 1
jne 0x1006236e
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 2
jne 0x10062389
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
jmp 0x100621fd
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
cmp esi, 9
jne 0x100623ba
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0xa
jne case.default.0x10061e9f
jmp 0x100621fd
cmp esi, 2
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10061160
mov ecx, edi
movzx ebx, byte [eax + 0x10094358]
call fcn.10061030
mov ecx, eax
call fcn.10061180
test al, al
jne case.default.0x10061e9f
test bl, 2
jne case.default.0x10061e9f
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100618e0
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061780
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.100618b0
test al, al
jne 0x10065d98
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100687c0
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10061030
mov ecx, eax
call fcn.100616a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061970
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.100616e0
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068800
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061910
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, 3
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.100619d0
jmp 0x100681f2
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x10062523
mov edx, 2
mov ecx, ebx
call fcn.10061630
test al, al
je case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061630
test al, al
je case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100615a0
jmp 0x1006250b
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa228]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006257d
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100625e6
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, 2
jne 0x100625d0
push 0x66
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp case.0x10061e9f.63
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068850
jmp case.0x10061e9f.63
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 2
jne 0x10062616
push 0x66
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp 0x100621ff
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068850
jmp 0x100621ff
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa228]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065679
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10061e9f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006275f
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne 0x10064fb9
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne 0x1006272c
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100626e2
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x100626f1
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006271d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x1006272c
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.100687b0
test al, al
je case.0x10061e9f.63
push 2
lea ecx, [esp + 0x14]
call fcn.10061740
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034ea1
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x100627de
push 2
lea ecx, [esp + 0x14]
call fcn.10061740
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne 0x100621ff
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100627ca
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x100621ff
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
jmp 0x100621ff
cmp esi, 0xa
jne 0x1006284f
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne 0x100621fd
mov ecx, ebx
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x1006283b
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x100621fd
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
jmp 0x100621fd
push 0x80
lea ecx, [esp + 0x14]
call fcn.100617b0
cmp esi, 0x19
jne 0x10062a88
mov ecx, edi
call fcn.100610a0
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
cmp eax, 1
jne 0x100628df
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x100628c9
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
mov bl, 1
jmp 0x100629d9
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
mov bl, 1
jmp 0x100629d9
cmp eax, 2
jne 0x100628f7
push 0x200000
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp 0x1006298f
cmp eax, 4
jne 0x10062916
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068870
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006298f
cmp eax, 8
jne 0x1006298f
cmp dword [esp + 0x58], 0x15
jne 0x1006293a
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068880
add esp, 8
test al, al
je 0x1006293a
mov bl, 1
jmp 0x1006293c
xor bl, bl
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068740
add esp, 8
test al, al
jne 0x10062963
test bl, bl
jne 0x10062976
mov ecx, 0x32
call fcn.10061030
jmp 0x10061ff3
test bl, bl
je 0x10062981
mov ecx, dword [esp + 0x24]
push 1
call fcn.100613c0
test al, al
je 0x10062981
mov eax, 4
mov dword [esp + 0x44], eax
jmp 0x10062985
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x14]
call fcn.10068850
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 4
lea ecx, [esp + 0x44]
call fcn.100687a0
push dword [esp + 0x2c]
mov bl, al
push dword [esp + 0x2c]
mov byte [esp + 0x38], bl
call fcn.10068710
add esp, 8
test al, al
je 0x100629dd
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
mov byte [esp + 0x30], bl
cmp dword [esp + 0x18], 0
jne 0x10062a50
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x100629f2
cmp bl, 1
je 0x10062a54
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
jne 0x10062a50
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.100617d0
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.100617e0
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 4
lea ecx, [esp + 0x44]
call fcn.100687a0
mov byte [esp + 0x30], al
jmp case.0x10061e9f.1
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x10062a77
xor eax, eax
lea ecx, [esp + 0x10]
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
call fcn.10061740
jmp case.0x10061e9f.63
xor eax, eax
lea ecx, [esp + 0x10]
push eax
call fcn.10061740
jmp case.0x10061e9f.63
cmp esi, 0x1a
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov dword [esp + 0x50], eax
test eax, eax
je 0x10064eae
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.100687a0
cmp dword [esp + 0x50], 4
mov bl, al
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x30], bl
jne 0x10062af7
push dword [esp + 0x2c]
push esi
call fcn.10068870
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068710
add esp, 8
test al, al
je 0x10062b2e
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
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 0x10062b44
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
lea ecx, [esp + 0x14]
call fcn.10061740
push dword [esp + 0x50]
lea ecx, [esp + 0x14]
call fcn.10068810
jmp 0x100621fd
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
cmp eax, esi
je case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov edi, dword [esp + 0x24]
jmp 0x1006505e
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
cmp esi, 9
jne 0x10062bd1
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0xa
jne 0x10062bf5
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, ebx
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621fd
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
lea ecx, [esp + 0x10]
call fcn.100616a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10062513
cmp esi, 0x1a
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
test eax, eax
je 0x10064eae
jmp 0x100621fd
cmp esi, 1
je 0x10062513
mov ebx, edi
cmp esi, 2
je 0x100621ff
push 0xe8
lea ecx, [esp + 0x14]
call fcn.100617b0
mov dword [esp + 0x14], 0
jmp 0x10063578
mov ebx, dword [ebp + 0x10]
test esi, 0x1c0
je 0x10062cc7
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
test al, al
je case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
and esi, 0x3f
cmp esi, 9
jne 0x10062d97
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne 0x10064fb9
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne case.0x10061e9f.63
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10062d48
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x10062d57
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10062d83
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp case.0x10061e9f.63
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
jmp case.0x10061e9f.63
cmp esi, 0xa
jne case.default.0x10061e9f
jmp 0x100627e3
cmp esi, 0x4a
jne case.0x10061e9f.14
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10061060
test al, al
je case.default.0x10061e9f
lea ecx, [ebx + 0x10]
call fcn.10061060
jmp 0x100621f5
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068850
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10062e76
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, 1
jne 0x10062e4f
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062e38
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.0x10061e9f.63
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10061e9f.63
mov ecx, ebx
call fcn.100610a0
cmp eax, 2
jne 0x10062e66
push 0x66
lea ecx, [esp + 0x20]
call fcn.100687e0
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
jmp case.0x10061e9f.63
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
test eax, eax
je 0x10064eae
mov ecx, ebx
call fcn.100610a0
cmp eax, 2
jne 0x10062ea5
push 0x66
lea ecx, [esp + 0x20]
call fcn.100687e0
mov ecx, ebx
call fcn.100610a0
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061740
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 0x1b
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10068780
mov ecx, ebx
mov di, ax
call fcn.10061030
mov ecx, eax
call fcn.10068770
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.0x10061e9f.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10062fbf
push 0x6b
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, dword [ebp + 0x14]
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.10068710
add esp, 8
test al, al
je 0x10062f81
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
je 0x10062fa4
push 2
lea ecx, [esp + 0x14]
call fcn.100617c0
mov ecx, edi
call fcn.100610a0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0xd1
jne 0x10063088
push 0x6b
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, dword [ebp + 0x14]
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.100610a0
cmp eax, 4
jne 0x1006302b
push dword [esp + 0x2c]
push esi
call fcn.10068870
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068710
add esp, 8
test al, al
je 0x10063051
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
je 0x10063078
push 2
lea ecx, [esp + 0x14]
call fcn.100617c0
mov ecx, edi
call fcn.100610a0
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.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
cmp esi, 9
jne 0x100630ef
mov ecx, ebx
call fcn.100610a0
cmp eax, 1
je 0x10063203
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne 0x10064fb9
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x10063133
mov ecx, ebx
call fcn.100610a0
cmp eax, 1
je 0x10063260
mov ecx, edi
call fcn.100610b0
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
jmp 0x100621ff
cmp esi, 0x19
jne case.0x10061e9f.13
push 0x6b
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.100610a0
cmp eax, 4
jne 0x10063195
push ebx
push esi
call fcn.10068870
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068710
add esp, 8
test al, al
je 0x100631bb
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
je 0x100631de
push 2
lea ecx, [esp + 0x14]
call fcn.100617c0
mov ecx, edi
call fcn.100610a0
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp case.0x10061e9f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 7
jbe case.0x10061e9f.12
cmp esi, 9
jne 0x1006325b
xor edx, edx
mov ecx, edi
call fcn.10061610
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.10061590
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10063247
cmp dword [esp + 0x18], 4
jmp 0x10062d6b
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x10063276
xor edx, edx
mov ecx, edi
call fcn.10061610
test al, al
je case.default.0x10061e9f
jmp 0x100621ff
cmp esi, 0x49
jne 0x100632b5
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x89
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ebx, dword [ebp + 0x14]
jmp 0x100621ff
cmp esi, 1
jne 0x1006333f
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, esi
jne case.0x10061e9f.63
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10063247
cmp dword [esp + 0x18], 4
jmp 0x10062d6b
cmp esi, 2
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
test eax, eax
je 0x10064eae
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0x19
jne 0x100633de
mov ecx, edi
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10068770
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.100610a0
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100618d0
add eax, esi
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.100688a0
jmp case.0x10061e9f.1
cmp esi, 9
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
cmp eax, 2
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061740
jmp 0x100633c8
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061e9f
mov edx, 7
mov ecx, edi
call fcn.10061840
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
cmp eax, 2
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov ebx, eax
test ebx, ebx
je 0x10064eae
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.10061740
push ebx
lea ecx, [esp + 0x14]
call fcn.100688a0
jmp 0x1006206c
cmp esi, 1
jne 0x1006333f
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, esi
jne 0x100634d3
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062e38
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.0x10061e9f.63
mov ecx, dword [esp + 0x24]
call fcn.10061380
test al, al
je 0x100634f7
mov ecx, dword [esp + 0x38]
call fcn.100618d0
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x100633be
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
jmp case.0x10061e9f.63
cmp esi, 3
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061e9f.1
test byte [esp + 0x20], 0xc0
je 0x1006356e
push 0x10
mov ecx, edx
call fcn.100613c0
test al, al
je 0x1006356e
mov ecx, dword [esp + 0x20]
mov edx, 0x40
call fcn.100687b0
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.100687e0
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 0x10065d98
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 + 0x10095638]
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 0x100637dd
lea esi, [edi + 0x2c]
mov dword [esp + 0x58], esi
call fcn.10061030
mov ecx, dword [esi]
push eax
call fcn.10061300
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x10067d6a
push dword [edi + 0x68]
lea eax, [edi + 0x68]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.100612a0
test al, al
je 0x10063717
mov ecx, ebx
call fcn.100612b0
mov esi, eax
mov eax, dword [esp + 0x50]
sub esi, dword [esp + 0x3c]
sub esi, eax
jmp 0x10063889
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x100636d9
mov edx, 1
mov ecx, edi
call fcn.10061100
test al, al
je case.default.0x10061e9f
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.10061380
test al, al
je 0x10063690
mov ecx, edi
call fcn.100610a0
cmp eax, 2
je 0x100636a7
mov ecx, esi
call fcn.10061390
test al, al
je 0x100636c0
mov ecx, edi
call fcn.100610a0
cmp eax, 4
jne 0x100636c0
mov al, 1
lea ecx, [esp + 0x1c]
push eax
call fcn.10068800
mov dword [esp + 0x14], 0
jmp 0x10063578
xor al, al
lea ecx, [esp + 0x1c]
push eax
call fcn.10068800
mov dword [esp + 0x14], 0
jmp 0x10063578
mov ebx, edi
mov dword [esp + 0x14], 0
jmp 0x10063578
cmp esi, 1
je 0x10062513
mov ebx, edi
cmp esi, 2
je 0x100621ff
push 0xe9
lea ecx, [esp + 0x14]
call fcn.100617b0
mov dword [esp + 0x14], 0
jmp 0x10063578
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x10063752
cmp dword [esp + 0x10], 0
je 0x10063738
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.100687b0
test al, al
je 0x10063752
push ebx
lea ecx, [esp + 0x20]
call fcn.100687e0
or ebx, 0xffffffff
mov dword [esp + 0x50], 1
jmp 0x10067e4a
cmp dword [esp + 0x10], 0
je 0x10063876
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.100687b0
test al, al
jne 0x10063876
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100617f0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100687c0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100687e0
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.100687c0
lea eax, [edi + 0x68]
mov dword [esp + 0x58], esi
mov ebx, 0xfffffffc
mov dword [esp + 0x44], eax
jmp 0x10067e42
call fcn.10061080
test al, al
je case.default.0x10061e9f
mov ecx, edi
call fcn.10061370
mov ecx, eax
call fcn.100612d0
mov ecx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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 0x1006397f
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.100613a0
mov cl, al
call fcn.100611e0
test al, al
jne 0x10063885
push ebx
push esi
call fcn.10068740
add esp, 8
test al, al
jne 0x10063885
mov ecx, dword [esp + 0x58]
call fcn.10061820
test al, al
jne 0x10063977
mov ecx, 0x30
call fcn.10061030
jmp 0x10061ff3
mov eax, dword [esp + 0x50]
add eax, 0xfffffffe
add eax, esi
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.10068940
test al, al
je 0x100638e1
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x100638e1
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
jne 0x100638e1
mov edx, 0x10
lea ecx, [esp + 0x20]
call fcn.10061350
push ebx
lea ecx, [esp + 0x20]
call fcn.100687e0
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp 0x100681f2
cmp dword [esp + 0x10], 0
je 0x10063876
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.100687b0
test al, al
jne 0x10063876
mov ecx, 0x10
call fcn.10061320
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10061360
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100617f0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100687c0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100687e0
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.100687c0
push esi
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x100681f2
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.100695b0
test eax, eax
jne 0x10061ff3
mov ecx, edi
call fcn.100613d0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10061200
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 0x10063ab4
mov ecx, edi
call fcn.100613a0
mov cl, al
call fcn.100611f0
test al, al
je 0x10063a24
mov ecx, dword [esp + 0x58]
call fcn.10061820
test al, al
je 0x10063a24
cmp dword [esp + 0x4c], 0
jne 0x10063a04
push 0x40
lea ecx, [esp + 0x20]
call fcn.100687e0
push dword [esp + 0x44]
mov ecx, dword [edi + 0x2c]
push ebx
call fcn.10069030
test eax, eax
jne 0x10061ff3
mov eax, dword [esp + 0x54]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100617f0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.100687c0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100687e0
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.100687c0
mov ecx, dword [esp + 0x54]
push 4
push 0
lea ecx, [ecx + 8]
call fcn.10061230
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100614f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061260
push 0
lea ecx, [esp + 0x20]
call fcn.10068950
jmp 0x100681f2
push esi
lea ecx, [esp + 0x20]
call fcn.100687e0
mov ecx, dword [esp + 0x54]
push 1
push 0
lea ecx, [ecx + 8]
call fcn.10061230
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100614f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061260
push 0
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp 0x100681f2
mov ebx, dword [ebp + 0x10]
cmp esi, 2
jne 0x10063b57
mov ecx, edi
mov ebx, edi
call fcn.100610a0
mov edi, dword [esp + 0x24]
mov esi, eax
test esi, esi
jne 0x10063b2c
mov ecx, edi
call fcn.100613b0
mov esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.10068810
jmp 0x10062203
sub esi, 2
cmp esi, 2
je 0x10063b48
cmp esi, 4
je 0x10063b48
mov ecx, edi
call fcn.100613b0
cmp esi, eax
jne 0x100642d5
push esi
lea ecx, [esp + 0x14]
call fcn.10068810
jmp 0x10062203
cmp esi, 0x1b
jne case.default.0x10061e9f
mov ecx, edx
call fcn.10061380
test al, al
je case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, ebx
mov esi, eax
call fcn.10061030
mov ecx, esi
mov edi, eax
call fcn.100611d0
test edx, edx
jg 0x10062954
jl 0x10063b9d
cmp eax, 0xffff
ja 0x10062954
mov ecx, edi
call fcn.100611d0
test edx, edx
jg 0x10062954
jl 0x10063bb7
cmp eax, 0xffffffff
ja 0x10062954
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, esi
call fcn.100611d0
mov ecx, edi
mov esi, eax
call fcn.100611d0
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x10061e9f.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10063e49
mov ecx, edi
call fcn.100610e0
mov ecx, edi
test al, al
je 0x10063dcf
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610e0
test al, al
je 0x10063d2d
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne case.default.0x10061e9f
cmp esi, 1
jne 0x10063d10
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10063ca5
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x10063cb4
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10063cee
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
push 0x88
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x1006272c
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
lea ecx, [esp + 0x10]
push 0x88
call fcn.100617b0
jmp 0x1006272c
push 0x89
lea ecx, [esp + 0x14]
call fcn.100617b0
push esi
lea ecx, [esp + 0x14]
call fcn.10068810
jmp 0x1006272c
mov ecx, ebx
call fcn.100615e0
test al, al
je 0x10063d60
push 0x8c
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
dec dword [esp + 0x14]
jmp case.0x10061e9f.63
mov ecx, ebx
call fcn.100615f0
test al, al
je 0x10063dad
push 0x120
lea ecx, [esp + 0x14]
call fcn.100617b0
test byte [esp + 0x14], 8
je case.0x10061e9f.63
mov ecx, dword [esp + 0x24]
call fcn.10061380
test al, al
je case.0x10061e9f.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.100687e0
and dword [esp + 0x14], 7
jmp case.0x10061e9f.63
mov ecx, ebx
call fcn.10061600
test al, al
je case.default.0x10061e9f
push 0x121
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp case.0x10061e9f.63
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610e0
test al, al
je case.default.0x10061e9f
mov ecx, edi
call fcn.100615e0
test al, al
je 0x10063e12
push 0x8e
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, ebx
jmp 0x10063d48
mov ecx, edi
call fcn.100615f0
test al, al
je 0x10063e27
push 0x122
jmp 0x10063d70
mov ecx, edi
call fcn.10061600
test al, al
je case.default.0x10061e9f
push 0x123
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x10063f6a
mov ecx, edi
call fcn.100610b0
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x34], esi
call fcn.100615e0
lea ecx, [esp + 0x10]
test al, al
je 0x10063e96
push 0x8e
call fcn.100617b0
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
dec dword [esp + 0x14]
jmp 0x100621ff
push 0
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
cmp dword [esp + 0x14], 0
jne 0x10063f02
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061130
test al, al
jne 0x10063f02
mov ecx, ebx
call fcn.10061030
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.100610a0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10061a30
add esp, 0xc
test al, al
je 0x10063f02
push 0xa0
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x10064350
mov ecx, edi
call fcn.100610a0
cmp eax, 1
jne 0x10063f57
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10063f48
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
push 0x8a
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x100621ff
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
push 0x8a
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x100621ff
cmp esi, 0xa
jne 0x10064091
mov ecx, ebx
call fcn.100610b0
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x34], esi
call fcn.100615e0
lea ecx, [esp + 0x10]
test al, al
je 0x10063fb9
push 0x8c
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x100621ff
push 0
call fcn.100617b0
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
cmp dword [esp + 0x14], 0
jne 0x10064025
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10061130
test al, al
jne 0x10064025
mov ecx, edi
call fcn.10061030
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.100610a0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10061a30
add esp, 0xc
test al, al
je 0x10064025
push 0xa2
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x10064350
mov ecx, ebx
call fcn.100610a0
cmp eax, 1
jne 0x1006407c
mov ecx, ebx
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x1006406d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
push 0x88
lea ecx, [esp + 0x14]
call fcn.10061740
mov ebx, esi
jmp 0x100621ff
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x14]
call fcn.10061740
mov ebx, esi
jmp 0x100621ff
cmp esi, 0x19
jne 0x100641d2
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
mov byte [esp + 0x30], al
cmp al, 1
jne 0x1006411d
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x100640dd
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x100640ec
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10068770
mov edi, dword [esp + 0x24]
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006505e
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10064172
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
jne 0x10064172
push ebx
push esi
call fcn.10068880
add esp, 8
test al, al
je 0x10064196
mov ecx, dword [esp + 0x24]
push 1
call fcn.100613c0
test al, al
je 0x10064196
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x14]
call fcn.100617b0
push dword [esp + 0x30]
lea ecx, [esp + 0x14]
call fcn.100688c0
mov edi, dword [esp + 0x24]
jmp 0x1006505e
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068740
add esp, 8
test al, al
je 0x10064172
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100617b0
mov dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x10061e9f.63
cmp esi, 0x1a
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov dword [esp + 0x48], eax
test eax, eax
je 0x10064eae
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x14]
call fcn.100617b0
push dword [esp + 0x48]
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, ebx
mov dword [esp + 0x14], 0
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.100687a0
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x100642e4
mov ecx, edi
call fcn.100610b0
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.100610c0
test al, al
je case.default.0x10061e9f
cmp dword [esp + 0x14], 0
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061130
test al, al
jne 0x100642d5
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061670
cmp eax, 2
jne 0x10064350
mov ecx, 0x2b
call fcn.10061030
jmp 0x10061ff3
cmp esi, 0xa
jne 0x10064396
mov ecx, ebx
call fcn.100610b0
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.100617b0
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100610c0
test al, al
je case.default.0x10061e9f
cmp dword [esp + 0x14], 0
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10061130
test al, al
jne 0x100642d5
mov ecx, esi
call fcn.10061030
mov ecx, eax
call fcn.100611a0
mov ecx, dword [esp + 0x24]
mov esi, eax
mov edi, edx
call fcn.100613b0
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x30], al
call fcn.10061030
mov ecx, eax
call fcn.100616a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061970
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10061e9f.1
cmp esi, 0x19
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10061580
test al, al
je case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
push 0xb8
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100617b0
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.10061030
mov ecx, eax
call fcn.100611d0
push 8
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.100688e0
mov edi, dword [esp + 0x24]
jmp 0x1006505e
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 + 0x100aa228]
mov dword [esp + 0x10], eax
cmp esi, 9
jne 0x1006257d
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, 1
jne case.0x10061e9f.63
jmp 0x10062e0c
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061580
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100688f0
mov ecx, ebx
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, ebx
mov esi, eax
call fcn.10061030
mov ecx, eax
call fcn.100610d0
mov ecx, esi
mov bl, al
call fcn.100610d0
cmp al, bl
jne case.default.0x10061e9f
mov ecx, esi
call fcn.10061120
test al, al
jne case.default.0x10061e9f
mov ecx, esi
call fcn.10061180
test al, al
jne case.default.0x10061e9f
mov ecx, esi
call fcn.10061690
test al, al
je 0x100644f0
mov ecx, esi
call fcn.100616a0
cmp eax, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 0xb
jne 0x1006455c
mov ecx, ebx
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100618d0
add eax, esi
lea ecx, [esp + 0x10]
push eax
call fcn.100617b0
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.100688a0
jmp 0x10062140
cmp esi, 9
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
cmp eax, 2
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061740
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.100688a0
jmp case.0x10061e9f.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
cmp eax, 2
jne case.default.0x10061e9f
lea edx, [eax + 4]
mov ecx, ebx
call fcn.10061840
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
mov edi, eax
test edi, edi
je 0x10064eae
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.10061740
push edi
lea ecx, [esp + 0x14]
call fcn.100688a0
jmp 0x1006206c
cmp esi, 1
jne 0x100646c9
mov ecx, edi
call fcn.100615e0
test al, al
je 0x10064770
mov ecx, edi
call fcn.100610b0
cmp eax, 7
jae 0x10064761
push dword [eax*4 + 0x10094338]
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942f0]
lea ecx, [esp + 0x20]
push eax
call fcn.100687c0
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065d98
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.10061910
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100619d0
mov edi, dword [esp + 0x24]
jmp 0x100681f2
cmp esi, 3
jne 0x100647b8
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.10068710
add esp, 8
test al, al
je 0x1006471f
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
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 0x10064643
cmp esi, 1
jne 0x100647b8
mov ecx, edi
call fcn.100615e0
test al, al
je 0x10064770
mov ecx, edi
call fcn.100610b0
cmp eax, 2
je 0x10064761
cmp eax, 7
jae 0x10064761
push dword [eax*4 + 0x10094820]
jmp 0x10064643
mov ecx, 0x31
call fcn.10061030
jmp 0x10061ff3
mov ecx, edi
call fcn.100610a0
cmp eax, 2
jb case.default.0x10061e9f
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.100688a0
mov ecx, edi
call fcn.100610b0
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x1006505e
cmp esi, 2
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
test eax, eax
je 0x10064eae
mov ecx, edi
call fcn.100610a0
cmp eax, esi
je 0x100647f5
mov ecx, edi
call fcn.100610a0
mov ecx, dword [esp + 0x24]
mov esi, eax
call fcn.100613b0
cmp esi, eax
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.100688a0
jmp 0x100621fd
test esi, esi
jne 0x1006481f
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
jmp case.0x10061e9f.1
cmp esi, 3
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10064866
mov ecx, dword [esp + 0x20]
lea edx, [esi + 0x20]
call fcn.100687b0
test al, al
jne 0x10064866
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
jmp case.0x10061e9f.1
mov byte [esp + 0x30], 2
jmp case.0x10061e9f.1
mov eax, dword [edi]
mov ecx, edi
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x10064954
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, 1
jne 0x100648de
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100648cc
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100648da
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10064903
mov ecx, ebx
call fcn.100610b0
cmp eax, 1
jne case.default.0x10061e9f
push 2
lea ecx, [esp + 0x14]
call fcn.10061740
jmp case.0x10061e9f.63
cmp esi, 0x19
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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 0x10064944
mov ecx, dword [esp + 0x20]
lea edx, [esi + 7]
call fcn.100687b0
test al, al
je case.0x10061e9f.63
push 0x10
lea ecx, [esp + 0x14]
call fcn.100617c0
jmp 0x10061ef0
call fcn.100610a0
test eax, eax
je 0x10064eae
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
cmp esi, 0xa
jne 0x10064997
mov ecx, ebx
call fcn.100610b0
cmp eax, 1
jne case.default.0x10061e9f
push 2
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x100621fd
cmp esi, 0x1a
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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 0x100649de
mov ecx, dword [esp + 0x20]
lea edx, [esi + 6]
call fcn.100687b0
test al, al
je 0x100621fd
push 0x10
lea ecx, [esp + 0x14]
call fcn.100617c0
mov eax, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100621fd
cmp esi, 1
jne case.0x10061e9f.14
mov ecx, edi
call fcn.100610b0
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x10064a3b
cmp eax, 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061e9f.63
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10061e9f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10064a9a
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061030
mov ecx, eax
call fcn.100611d0
jmp 0x10061ee8
cmp esi, 0xca
jne 0x10064ae6
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068810
mov ecx, ebx
call fcn.100610b0
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100621ff
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
cmp esi, 0x49
jne 0x10064b0e
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
cmp eax, 1
jne case.default.0x10061e9f
mov ecx, edi
jmp 0x10062ba7
cmp esi, 0x4a
jne case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
cmp eax, 1
jne case.default.0x10061e9f
mov ecx, ebx
jmp 0x10062bd6
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, ebx
mov esi, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
test eax, eax
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
xor edx, edx
mov ecx, eax
call fcn.10061100
test al, al
je case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov edi, eax
call fcn.10061090
test al, al
je 0x10064b8e
mov ecx, ebx
call fcn.100610a0
cmp eax, edi
jne 0x10064fb9
push edi
lea ecx, [esp + 0x14]
call fcn.10068830
jmp 0x1006206c
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, edi
mov esi, edi
call fcn.10061030
mov ecx, eax
call fcn.100611c0
test eax, eax
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061030
xor edx, edx
mov ecx, eax
call fcn.10061100
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
mov ecx, edi
mov ebx, eax
call fcn.10061090
test al, al
je 0x10064bfc
mov ecx, edi
call fcn.100610a0
cmp eax, ebx
jne 0x10064fb9
push ebx
lea ecx, [esp + 0x14]
call fcn.10068830
jmp 0x1006206c
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x10061e9f
mov ecx, edi
call fcn.10061030
mov ecx, eax
call fcn.10061160
mov ecx, ebx
mov esi, eax
call fcn.10061030
mov ecx, eax
call fcn.10061160
cmp esi, eax
jne case.default.0x10061e9f
mov ecx, edi
mov esi, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061180
test al, al
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
mov ebx, eax
test ebx, ebx
je 0x10064eae
jmp 0x10064bed
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064d19
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
jne 0x10064fb9
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne case.0x10061e9f.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064cef
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x10064cfe
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062d83
jmp 0x10062d66
cmp esi, 0xa
jne 0x10064d65
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne 0x100621fd
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006283b
jmp 0x1006281e
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
lea ecx, [esp + 0x10]
call fcn.100616a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10064e9a
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610a0
cmp eax, 1
jne 0x10064e0d
mov ecx, edi
call fcn.10061570
lea ecx, [esp + 0x20]
test al, al
jne 0x10064ddd
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061350
jmp 0x10064dec
mov edx, Ordinal_2
call fcn.10061350
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10068770
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10064e47
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], 4
call fcn.100610a0
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.100687a0
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x10061e9f.63
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
jne case.0x10061e9f.63
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, edi
call fcn.100610a0
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp case.0x10061e9f.1
cmp esi, 0x1a
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
test eax, eax
jne 0x10064eb8
mov eax, 0x34
jmp 0x10061ff3
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], 4
call fcn.100610a0
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.100687a0
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x10061e9f.61
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068830
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
cmp eax, 1
jne 0x100621ff
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064f6c
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 0x100621ff
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100650f4
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
cmp esi, eax
je 0x10064fc3
mov eax, 0x35
jmp 0x10061ff3
cmp esi, 1
je 0x10064cc3
cmp dword [esp + 0x58], 0x668
jne 0x100650e5
cmp dword [esp + 0x14], 0
je 0x10064fec
cmp dword [esp + 0x18], 0
jne 0x100650e5
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10061390
test al, al
je 0x1006501a
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x1006501a
cmp esi, 4
jb 0x1006501a
cmp esi, 8
jne 0x100650e5
push 0x8000000
jmp 0x10065047
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.100687b0
test al, al
jne 0x100650e5
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
add dword [esp + 0x14], eax
push esi
call fcn.10068830
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.100617d0
push 0x90
lea ecx, [esp + 0x14]
call fcn.100617e0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100618e0
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061780
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.100618b0
test al, al
jne 0x10065d98
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.100687c0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10061740
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061910
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.100619d0
jmp 0x100681f2
push esi
lea ecx, [esp + 0x14]
call fcn.10068830
jmp case.0x10061e9f.63
cmp esi, 0xa
jne case.default.0x10061e9f
jmp 0x10064d1e
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006515b
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100687b0
test al, al
je case.0x10061e9f.63
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034ea1
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x10065170
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, ebx
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065245
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x1006526a
test ecx, ecx
jne case.default.0x10061e9f
push 0xff
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.100617f0
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942f0]
lea ecx, [esp + 0x20]
push eax
call fcn.100687c0
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 0x100681f2
cmp esi, 2
je 0x1006528d
jmp case.default.0x10061e9f
test esi, esi
jne 0x10065258
lea ecx, [esi + 1]
jmp 0x10065266
cmp esi, 1
jne 0x10065284
mov ecx, edi
call fcn.100610b0
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.0x10061e9f.65
cmp esi, 2
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
xor ecx, ecx
cmp eax, 4
setne cl
lea ecx, [ecx*4 + 0xd8]
push ecx
lea ecx, [esp + 0x14]
call fcn.100617b0
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.100617d0
jmp 0x100621fd
cmp esi, 2
jne 0x10065364
mov ecx, edi
mov ebx, edi
call fcn.100610a0
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x100652ef
push 0x1000
mov ecx, esi
call fcn.10061700
test al, al
jne 0x100621ff
mov ecx, edi
call fcn.100610a0
cmp eax, 8
jne 0x1006531b
push 0x2000
mov ecx, esi
call fcn.10061700
test al, al
je 0x1006531b
push 4
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x100621ff
mov ecx, edi
call fcn.100610a0
cmp eax, 0xa
jne case.default.0x10061e9f
push 0x800
mov ecx, esi
call fcn.10061700
test al, al
je case.default.0x10061e9f
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
lea ecx, [esp + 0x10]
call fcn.100616a0
mov dword [esp + 0x14], eax
jmp 0x100621ff
cmp esi, 1
jne case.default.0x10061e9f
mov eax, dword [esp + 0x58]
cmp eax, 0xce
jne 0x10065389
mov ecx, edi
call fcn.100610b0
add eax, 0x364c0
jmp 0x100651f0
cmp eax, 0xec
jne 0x100653a1
mov ecx, edi
call fcn.100610b0
add eax, 0x374d0
jmp 0x100651f0
cmp eax, 0xef
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
add eax, 0x374d8
jmp 0x100651f0
cmp esi, 2
jne case.default.0x10061e9f
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, edi
mov ebx, edi
call fcn.100610a0
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x10065406
push 0x800
mov ecx, esi
call fcn.10061700
test al, al
je 0x10065406
push 4
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x100621ff
mov ecx, edi
call fcn.100610a0
cmp eax, 4
jne 0x10065426
push 0x1000
mov ecx, esi
call fcn.10061700
test al, al
jne 0x100621ff
mov ecx, edi
call fcn.100610a0
cmp eax, 8
jne case.default.0x10061e9f
push 0x2000
mov ecx, esi
call fcn.10061700
test al, al
je case.default.0x10061e9f
mov ecx, dword [esp + 0x38]
call fcn.100618d0
and eax, 0xffff1fff
lea ecx, [esp + 0x10]
push eax
call fcn.100617b0
lea ecx, [esp + 0x10]
call fcn.100616a0
mov dword [esp + 0x14], eax
jmp 0x100621ff
test esi, esi
jne case.0x10061e9f.70
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
jmp case.0x10061e9f.65
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
push eax
lea ecx, [esp + 0x14]
call fcn.10061740
jmp case.0x10061e9f.65
cmp esi, 1
jne 0x100654c9
mov ecx, edi
call fcn.100610b0
test eax, eax
jne case.default.0x10061e9f
mov ecx, dword [esp + 0x38]
call fcn.100618d0
jmp 0x100651f0
cmp esi, 2
jne case.default.0x10061e9f
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.100617d0
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x1006553b
mov ecx, ebx
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
mov ecx, dword [ebp + 0x14]
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0xca
jne case.default.0x10061e9f
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, ebx
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
mov ecx, dword [ebp + 0x14]
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x100655dd
mov ecx, ebx
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
mov ecx, dword [ebp + 0x14]
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062bb6
cmp esi, 0xca
jne case.default.0x10061e9f
jmp 0x10065558
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065653
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100687b0
test al, al
je case.0x10061e9f.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x10061e9f.63
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034ea1
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x10065668
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621fd
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x100656af
mov ecx, edi
call fcn.100610a0
cmp eax, 1
je case.default.0x10061e9f
jmp 0x10063bfa
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
cmp eax, 1
je case.default.0x10061e9f
mov ecx, ebx
jmp 0x10062bd6
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100657a5
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100615c0
test al, al
je 0x10065743
mov ecx, ebx
call fcn.100615c0
test al, al
je 0x10065743
push 0x16f
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100687b0
test al, al
je case.0x10061e9f.63
push 0x10
jmp 0x10062744
mov ecx, edi
call fcn.100615b0
test al, al
je 0x1006583d
mov ecx, ebx
call fcn.100615b0
test al, al
je 0x1006583d
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100687b0
test al, al
je case.0x10061e9f.63
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.100617b0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034ea1
jmp case.0x10061e9f.63
cmp esi, 0x11
jne 0x100657f1
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100615c0
test al, al
je 0x100657d3
push 0x16f
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x100621ff
mov ecx, edi
call fcn.100615b0
test al, al
je 0x1006583d
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x100621ff
cmp esi, 0xa
jne 0x1006583d
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100615c0
test al, al
je 0x1006581f
push 0x17f
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x100621fd
mov ecx, ebx
call fcn.100615b0
test al, al
je 0x1006583d
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x100621fd
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.100617e0
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 0x1006588f
mov ecx, ebx
call fcn.100610e0
test al, al
je 0x10065898
mov ecx, ebx
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
je 0x100621ff
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, ebx
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
cmp esi, 9
jne 0x100623ba
mov ecx, edi
call fcn.100610e0
jmp 0x1006250b
mov ecx, dword [ebp + 0x14]
call fcn.10061050
test al, al
jne 0x1006590b
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061650
test al, al
je case.default.0x10061e9f
and esi, 0x3f
jmp case.0x10061e9f.73
mov ecx, dword [ebp + 0x14]
call fcn.10061050
test al, al
jne 0x1006590b
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.10061840
test al, al
je case.default.0x10061e9f
and esi, 0x3f
jmp case.0x10061e9f.73
mov ecx, dword [ebp + 0x10]
call fcn.100610a0
cmp eax, 8
lea ecx, [esp + 0x10]
sete al
movzx eax, al
push eax
call fcn.100688f0
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 0x10065986
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
jne case.default.0x10061e9f
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100659e2
mov ecx, edi
call fcn.100615b0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100615b0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068910
mov ecx, edi
call fcn.100610b0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065a32
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
je 0x10063c0b
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
lea ecx, [esp + 0x10]
call fcn.100616a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065ad4
mov ecx, edi
call fcn.100615b0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100615b0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068910
mov ecx, edi
call fcn.100610b0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
je 0x100659eb
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
lea ecx, [esp + 0x10]
call fcn.100616a0
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
jmp 0x10065a62
mov ecx, dword [ebp + 0x14]
call fcn.10061030
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 0x10065b65
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0xd1
jmp 0x10062580
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 0x10065bd7
mov ecx, edi
call fcn.100615b0
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100615b0
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068910
mov ecx, edi
call fcn.100610b0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0xd1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100615b0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068900
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp 0x100621ff
mov ecx, edi
call fcn.100610b0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10061e9f.63
cmp esi, 0xd9
jne case.default.0x10061e9f
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100616a0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061030
mov ecx, eax
call fcn.10068770
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061030
mov ecx, eax
call fcn.10068770
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.0x10061e9f.63
mov ecx, dword [ebp + 0x18]
call fcn.10061040
shl eax, 9
mov ecx, edi
add eax, esi
mov dword [esp + 0x4c], eax
call fcn.100610b0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.100610b0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
cmp eax, 9
je case.0x10061e9f.63
cmp eax, 0x6c9
jne case.default.0x10061e9f
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, dword [ebp + 0x18]
call fcn.10061030
mov ecx, eax
call fcn.10068770
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10061030
mov ecx, eax
call fcn.10068770
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.0x10061e9f.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.100617b0
mov ecx, edi
call fcn.100610b0
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
cmp esi, 9
jne 0x10065d8a
mov ecx, ebx
call fcn.100610b0
mov dword [esp + 0x18], eax
jmp case.0x10061e9f.63
cmp esi, 0x11
jne case.default.0x10061e9f
jmp 0x100621ff
mov eax, 0x25
jmp 0x10061ff3
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 0x10065df7
push 0x18
lea ecx, [esp + 0x14]
call fcn.10061800
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.100687f0
mov edi, dword [esp + 0x24]
jmp 0x100681f2
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100687e0
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100687e0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100687e0
mov edi, dword [esp + 0x24]
jmp 0x100681f2
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065ecd
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610e0
test al, al
je 0x10065e76
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp case.0x10061e9f.93
mov ecx, edi
call fcn.100610e0
test al, al
je 0x10065e9a
mov ecx, dword [esp + 0x38]
call fcn.100618d0
inc eax
lea ecx, [esp + 0x10]
push eax
call fcn.100617b0
jmp case.0x10061e9f.93
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.100687b0
test al, al
je case.0x10061e9f.93
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034ea1
jmp case.0x10061e9f.93
cmp esi, 0x11
jne 0x10065ede
mov ecx, edi
call fcn.100610b0
jmp 0x10067047
cmp esi, 0xa
jne case.default.0x10061e9f
push 1
lea ecx, [esp + 0x14]
call fcn.10061740
jmp 0x1006703e
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061030
mov ecx, eax
call fcn.10061580
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100688f0
jmp case.0x10061e9f.93
cmp esi, 2
jne case.default.0x10061e9f
mov ebx, edi
jmp 0x1006704b
mov ecx, edi
call fcn.100610a0
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov ecx, ebx
call fcn.100610a0
or esi, eax
mov ecx, esi
call fcn.10061890
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
mov eax, dword [esp + 0x48]
cmp eax, 9
jne 0x10065f78
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
jmp 0x10067f8d
cmp eax, 0xa
jmp 0x10067038
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610a0
mov ecx, eax
call fcn.10061890
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.10061880
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068790
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp 0x1006703e
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10066015
push 0x2001c5
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061030
mov ecx, eax
call fcn.100611d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061e9f.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 0x10067038
mov ecx, edi
call fcn.100610a0
mov ecx, dword [ebp + 0x10]
mov esi, eax
call fcn.100610a0
or esi, eax
mov ecx, esi
call fcn.10061890
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
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 0x10066032
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10067f96
mov ecx, dword [ebp + 0x14]
call fcn.10061050
test al, al
jne 0x100660bd
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.10061840
test al, al
je case.default.0x10061e9f
and esi, 0x3f
jmp case.0x10061e9f.103
mov ecx, edi
call fcn.10061580
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061580
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068920
jmp case.0x10061e9f.103
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
call fcn.100610a0
test eax, eax
je 0x10066118
mov ecx, ebx
call fcn.100610a0
mov ecx, eax
call fcn.10061890
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp case.0x10061e9f.103
mov ecx, edi
call fcn.100610a0
cmp eax, 0x20
jne case.0x10061e9f.103
push 0x40000000
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp case.0x10061e9f.103
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne case.0x10061e9f.106
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100610e0
test al, al
je case.0x10061e9f.106
mov ecx, edi
call fcn.100610a0
mov ecx, ebx
mov esi, eax
call fcn.100610a0
or esi, eax
mov ecx, esi
call fcn.10061890
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.100618d0
or esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.100617b0
mov ecx, edi
call fcn.100610b0
jmp 0x10067f8b
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 + 0x10094760]
or dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100661c0
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067f96
cmp esi, 0x11
jne case.default.0x10061e9f
mov eax, dword [edi + 4]
jmp 0x10067047
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov ecx, eax
call fcn.10061890
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10061880
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068790
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, edi
call fcn.100610b0
jmp 0x10067047
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.100610f0
mov ebx, dword [ebp + 0x10]
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.100610f0
test al, al
je case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
call fcn.100610f0
test al, al
je case.default.0x10061e9f
mov ecx, dword [ebp + 0x18]
call fcn.100610f0
test al, al
je case.default.0x10061e9f
mov ecx, dword [esp + 0x48]
call fcn.100610f0
test al, al
je case.default.0x10061e9f
mov ecx, esi
call fcn.10061070
test al, al
je case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.100610b0
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.100610b0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
call fcn.100610b0
mov edx, eax
test bl, 3
jne 0x100662ee
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x100662ee
lea ecx, [ebx + 2]
cmp dword [esp + 0x4c], ecx
jne 0x100662ee
lea eax, [ebx + 3]
cmp edx, eax
jne 0x100662ee
mov ecx, edi
call fcn.100610b0
mov edx, ebx
mov ecx, eax
call fcn.10061870
mov ebx, dword [esp + 0x34]
jmp 0x10067047
mov ecx, 0x3c
call fcn.10061030
jmp 0x10061ff3
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.0x10061e9f.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 + 0x10094760]
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 0x1006638e
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067f96
cmp esi, 0xd1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
jmp 0x10067047
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10061e9f.115
mov edx, 2
mov ecx, eax
call fcn.10061100
test al, al
je case.default.0x10061e9f
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 0x1006642e
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 + 0x10094760]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100665fd
cmp esi, 0x89
jne case.default.0x10061e9f
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10067047
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
test al, 1
jne 0x100664df
mov ecx, edi
call fcn.100610b0
mov ecx, ebx
lea esi, [eax + 1]
call fcn.100610b0
cmp esi, eax
jne 0x100664df
mov ecx, dword [ebp + 0x14]
call fcn.100610a0
mov ecx, eax
call fcn.10061890
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061060
mov ecx, ebx
test al, al
jne 0x10067f91
call fcn.10061070
test al, al
je case.default.0x10061e9f
jmp 0x1006704b
mov ecx, 0x1d
call fcn.10061030
jmp 0x10061ff3
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 + 0x10094760]
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 0x10066552
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x14]
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10067f8d
cmp ecx, 0x289
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ebx, dword [ebp + 0x14]
jmp 0x10067047
mov ecx, edi
call fcn.100615d0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068930
jmp case.0x10061e9f.122
mov ecx, edi
call fcn.100615d0
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.10068930
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 + 0x10094760]
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 0x10066615
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 0x10067f96
cmp eax, 0x689
jmp 0x10066558
mov ecx, edi
call fcn.10061580
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10061580
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10068920
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10067f71
cmp esi, 0x51
jne case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
jmp 0x10067047
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x10061e9f.128
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x100661dd
mov ebx, dword [ebp + 0x10]
cmp esi, 0x51
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610a0
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.100610a0
or esi, eax
mov ecx, esi
call fcn.10061890
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10061880
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068790
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp 0x10066657
mov ecx, dword [ebp + 0x18]
call fcn.10061040
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 0x10067f71
cmp eax, 0x651
jmp 0x10066651
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100667da
mov ecx, edi
call fcn.100610e0
test al, al
je 0x10066778
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
mov ecx, edi
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068850
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
jmp 0x10067f8d
mov ecx, ebx
call fcn.100610e0
test al, al
je 0x100667a0
mov ecx, ebx
call fcn.100610a0
push eax
lea ecx, [esp + 0x14]
call fcn.10068850
mov ecx, edi
call fcn.100610b0
jmp 0x10067f8b
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100617f0
test eax, eax
je 0x1006681d
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.100617d0
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, edi
call fcn.100610b0
jmp 0x10067f8b
cmp esi, 0x11
jne 0x10066821
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100617f0
test eax, eax
je 0x10066211
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.100617d0
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, edi
call fcn.100610b0
jmp 0x10067047
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
cmp esi, 0xa
jne case.default.0x10061e9f
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100617f0
test eax, eax
je 0x1006703e
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.100617d0
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp 0x1006703e
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 + 0x10094760]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100668a8
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067f96
cmp esi, 0x11
je 0x10066211
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
jmp 0x10067035
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x10066948
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.100687b0
test al, al
je case.0x10061e9f.93
lea ecx, [esp + 0x10]
call fcn.10061750
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ecx, dword [ebp + 0x14]
jmp 0x10067f8d
cmp esi, 0x51
je 0x10066657
cmp esi, 0x89
jne case.default.0x10061e9f
lea ecx, [esp + 0x10]
call fcn.10061750
jmp 0x1006655e
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 + 0x10094760]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100665fd
cmp esi, 0x89
je 0x1006655e
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, dword [ebp + 0x14]
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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 0x100669f8
mov ecx, edi
call fcn.100610b0
jmp 0x10067f8b
cmp esi, 0xd1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
jmp 0x10067047
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100668df
cmp esi, 0x51
je 0x10066657
cmp esi, 0x89
jne 0x10066a3b
lea ecx, [esp + 0x10]
call fcn.10061750
jmp 0x1006655e
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x100669c3
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10066927
cmp esi, 0x89
je 0x1006655e
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
cmp esi, 9
jne 0x10067035
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
jmp 0x10067f8d
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 + 0x10094760]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100665fd
cmp esi, 0x89
je 0x1006655e
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
cmp esi, 0x4a
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
jmp 0x10067045
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 + 0x10094760]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100665fd
cmp esi, 0x89
je 0x1006655e
push 0x60001000
lea ecx, [esp + 0x14]
call fcn.100617d0
mov ecx, dword [esp + 0x38]
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
lea ecx, [esp + 0x10]
call fcn.100616a0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061030
mov ecx, eax
call fcn.100611d0
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 0x10066bc8
mov ecx, edi
call fcn.100610b0
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067f86
cmp esi, 0xd1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.10061870
jmp 0x10067047
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 0x10066c3e
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067f96
cmp esi, 0x11
jmp 0x10066bce
cmp esi, 0xd1
jne case.0x10061e9f.146
lea ecx, [esp + 0x10]
call fcn.10061760
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 + 0x10094760]
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 0x10066cba
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10066ca3
mov ecx, ebx
call fcn.100610a0
cmp eax, 8
je 0x10066ca3
xor eax, eax
jmp 0x10066ca8
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 0x10066ce3
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067f96
cmp esi, 0xd1
jne case.default.0x10061e9f
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x1006704b
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 + 0x10094760]
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 0x10066d67
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.0x10061e9f.93
cmp eax, 0x449
jne 0x10066dbd
lea ecx, [esp + 0x10]
call fcn.10061750
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100610b0
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 0x1006704b
cmp eax, 0x289
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10066d96
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.0x10061e9f
call fcn.10061040
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.100610a0
mov ecx, edi
mov esi, eax
call fcn.100610a0
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.100610a0
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.100610a0
or eax, esi
mov ecx, eax
call fcn.10061890
push eax
lea ecx, [esp + 0x14]
call fcn.100617e0
mov ecx, dword [esp + 0x4c]
call fcn.10061030
mov ecx, eax
call fcn.10068770
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 0x10066ec0
mov ecx, ebx
call fcn.100610b0
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610b0
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.100610b0
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10061e9f.93
cmp eax, 0x449
jne 0x10066f04
lea ecx, [esp + 0x10]
call fcn.10061750
mov ecx, ebx
call fcn.100610b0
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.100610b0
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x1006704b
cmp eax, 0x289
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ecx, dword [ebp + 0x18]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.100610b0
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x1006704b
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100665fd
cmp esi, 0x11
je 0x10066211
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, eax
call fcn.100618d0
push eax
lea ecx, [esp + 0x14]
call fcn.100617b0
jmp 0x1006703e
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 + 0x10094760]
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 0x10066d67
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 0x10066feb
lea ecx, [esp + 0x10]
call fcn.10061750
mov ecx, dword [ebp + 0x18]
call fcn.100610b0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100610b0
jmp 0x10066d4e
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.100610b0
jmp 0x10066d4e
cmp esi, 1
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
mov dword [esp + 0x14], eax
jmp case.0x10061e9f.93
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061e9f
mov ecx, edi
call fcn.100610b0
jmp 0x10067047
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061e9f
mov ecx, ebx
call fcn.100610b0
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10061040
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061160
mov ecx, ebx
movzx eax, byte [eax + 0x10094358]
mov dword [esp + 0x38], eax
call fcn.10061030
mov ecx, eax
call fcn.100616a0
push eax
lea ecx, [esp + 0x20]
call fcn.10061970
lea ecx, [esp + 0x1c]
call fcn.10061200
mov edi, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.100616e0
test dword [esp + 0x38], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068800
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061140
test al, al
je 0x100670d3
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061150
test al, al
je 0x100670f9
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061170
mov dword [esp + 0x50], eax
jmp 0x10067101
mov dword [esp + 0x50], 0
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100616c0
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.100610b0
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.10061790
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x34], eax
call fcn.10061200
mov ecx, eax
call fcn.10061320
mov edx, 0x400000
mov ecx, eax
call fcn.100616f0
mov esi, dword [esp + 0x34]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x34], esi
call fcn.10061330
mov edx, 0x80000
mov ecx, eax
call fcn.10061330
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.100687b0
test al, al
je 0x100671f4
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10061330
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100687b0
test al, al
jne 0x1006803d
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10061340
or esi, eax
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x44]
call fcn.10061720
test al, al
je 0x1006722e
test esi, 0x80df8110
jne 0x1006723a
mov edx, 0x400
mov ecx, 0x800
call fcn.10061330
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100687b0
test al, al
jne 0x1006722e
or esi, 0x10
mov dword [esp + 0x34], esi
test esi, 0x80df8110
je 0x100673ab
push 4
lea ecx, [esp + 0x14]
call fcn.10061810
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.10061810
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x48], eax
test eax, 0x10000000
je 0x1006735c
mov ecx, dword [esp + 0x44]
call fcn.10061730
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10061030
mov ecx, eax
call fcn.100616d0
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x1006734d
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.100689a0
lea edx, [esp + 0x4c]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x48]
call fcn.10068790
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x34], eax
cmp eax, 0x40000000
ja 0x1006734d
lea edx, [esp + 0x34]
lea ecx, [esp + 0x6c]
call fcn.10068790
and esi, 0x9fffffff
lea ecx, [esp + 0x10]
push 0xffff1fff
or esi, eax
call fcn.100617d0
mov ecx, dword [esp + 0x5c]
call fcn.100689a0
shl eax, 0xd
lea ecx, [esp + 0x10]
push eax
call fcn.100617e0
push esi
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x10067455
mov ecx, 0x29
call fcn.10061030
jmp 0x10061ff3
push 0x19
lea ecx, [esp + 0x14]
call fcn.10061810
mov esi, eax
lea ecx, [esp + 0x10]
push 0xd
and esi, 4
call fcn.10061810
mov ecx, dword [esp + 0x48]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x10094228]
lea ecx, [esp + 0x14]
call fcn.10061740
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push esi
call fcn.100687f0
jmp 0x10067455
push 0xd
lea ecx, [esp + 0x14]
call fcn.10061810
mov esi, eax
lea ecx, [esp + 0x10]
push 0xc
and esi, 0x300
call fcn.10061810
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.100618c0
push 0xffff1fff
lea ecx, [esp + 0x14]
or esi, eax
call fcn.100617d0
test esi, 0x8000807e
je 0x10067431
push 0x18
lea ecx, [esp + 0x14]
call fcn.10061800
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x100942f8]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x10067462
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100687e0
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100687e0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100687e0
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.10061700
test al, al
jne 0x10067b45
mov eax, dword [esp + 0x38]
test al, 0x42
jne 0x10067a2f
test al, 1
je 0x10067613
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov ebx, eax
call fcn.100618a0
mov ecx, dword [esp + 0x48]
add esp, 4
mov esi, eax
call fcn.10061710
mov ecx, dword [esp + 0x18]
cmp ecx, 4
je 0x10067523
test al, al
jne 0x10067523
cmp ecx, 5
je 0x100674d8
test ebx, ebx
je 0x10067c29
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100617f0
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.10068940
test al, al
je 0x10067518
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067518
lea eax, [esi + 0x40]
jmp 0x100675b7
lea eax, [esi + 0x80]
jmp 0x100675fa
and esi, 0xf8
or esi, 4
cmp ecx, 5
je 0x1006755f
test ebx, ebx
jne 0x1006755f
push esi
lea ecx, [esp + 0x20]
call fcn.100687e0
push dword [esp + 0x18]
lea edx, [ebx + 4]
xor ecx, ecx
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
jmp 0x100650cb
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100617f0
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.10068940
test al, al
je 0x100675d7
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x100675d7
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.100687e0
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.100618a0
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.100687e0
mov ecx, dword [esp + 0x48]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
jmp 0x100650cb
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.100687e0
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.100618a0
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.100687e0
push ebx
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x100650cb
test al, 0x30
jne 0x1006796f
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061670
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.10061030
mov ecx, eax
call fcn.100611c0
mov ecx, edi
mov dword [esp + 0x34], eax
call fcn.10061380
test al, al
je 0x10067667
cmp esi, 2
je 0x100642d5
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100618a0
jmp 0x10067950
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov esi, dword [esp + 0x34]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.10061370
mov ecx, eax
call fcn.100612d0
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x1006776d
and ecx, edx
cmp ecx, 0xffffffff
jne 0x10067733
cmp dword [esp + 0x48], esi
je 0x10067928
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x10067776
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x10067928
cmp dword [esp + 0x58], 0x17e
jne 0x1006791c
movzx eax, al
test al, 0x40
je 0x10067928
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10067928
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.100687b0
test al, al
jne 0x10067928
push ebx
lea ecx, [esp + 0x20]
call fcn.10061520
jmp 0x10067928
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100616a0
cmp dword [esp + 0x58], 0x17e
mov ecx, eax
jne 0x1006775e
cmp dword [esp + 0x48], esi
je 0x1006775a
cmp dword [esp + 0x50], 0
jne 0x1006775e
mov al, 1
jmp 0x10067760
xor al, al
cmp ecx, 5
jae 0x10067850
test al, al
jmp 0x10067770
cmp eax, 2
jne 0x10067850
mov ecx, dword [esp + 0x3c]
push dword [edi + 0x6c]
movzx esi, cl
lea ecx, [esp + 0x20]
call fcn.100614f0
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 0x10067875
mov ecx, dword [edi + 0x68]
call fcn.10061200
test eax, eax
jne 0x10067875
mov ecx, dword [edi + 0x68]
call fcn.10061210
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.10061030
mov ecx, eax
call fcn.100611a0
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10068740
add esp, 8
test al, al
je 0x10067832
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x100646ab
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.10061680
test al, al
jne 0x100642d5
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x48], esi
je 0x10067928
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100676d7
mov ecx, 0x2e
call fcn.10061030
jmp 0x10061ff3
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.100695b0
test eax, eax
jne 0x10061ff3
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
mov ecx, dword [edi + 0x68]
call fcn.10061200
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100613d0
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.10061230
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100614f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061260
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611a0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
lea ecx, [esp + 0x1c]
push 0
call fcn.10068950
jmp 0x100650cb
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10068960
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push 5
mov edx, 4
xor ecx, ecx
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x100650cb
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
mov ecx, edi
call fcn.10061380
test al, al
jne 0x10067d06
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
test byte [esp + 0x38], 0x10
mov dword [esp + 0x5c], eax
je 0x10067a20
lea esi, [edi + 0x2c]
mov ecx, ebx
mov dword [esp + 0x58], esi
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov ecx, dword [esi]
push eax
call fcn.100612e0
mov esi, eax
mov dword [esp + 0x48], esi
test esi, esi
je 0x10067d6a
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.100612a0
test al, al
je 0x10067e42
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100614f0
mov ecx, esi
sub ebx, eax
call fcn.100612b0
add eax, ebx
push eax
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x100650cb
test al, 0x40
jne 0x10067a4d
mov esi, dword [esp + 0x50]
cmp esi, 4
jne 0x10067b55
lea ecx, [esi + 0x28]
call fcn.10061030
jmp 0x10061ff3
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
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 0x10067b1a
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 0x10067ab5
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100616b0
test eax, eax
jne 0x100642d5
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov al, byte [esi + eax*8 + 0x100947a0]
jmp 0x10067ac5
test al, 2
je 0x10067abf
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x100942a8]
movzx ecx, al
cmp ecx, 0xff
je 0x100642d5
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067ae8
cmp esi, 6
jne 0x10067c29
mov ecx, edx
call fcn.10068940
lea ecx, [esp + 0x1c]
test al, al
je 0x10067b12
lea eax, [esi + 0x40]
push eax
call fcn.100687e0
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp 0x100650cb
lea eax, [esi + 0x80]
jmp 0x10067b2d
test al, 0x30
jne 0x100642d5
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.100687e0
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.10068990
jmp 0x100650cb
mov eax, dword [esp + 0x38]
test al, 2
je case.default.0x10061e9f
mov esi, dword [esp + 0x50]
and esi, 7
test al, 1
je 0x10067c56
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x4c], eax
call fcn.100618a0
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, ebx
push dword [esp + 0x18]
call fcn.10061030
mov ecx, eax
call fcn.100616b0
mov edx, esi
mov ecx, eax
call fcn.100618a0
mov esi, dword [esp + 0x4c]
add esp, 4
mov ebx, eax
mov dword [esp + 0x40], ebx
test esi, esi
jne 0x10067bdb
cmp dword [esp + 0x18], 5
je 0x10067bdb
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push ebx
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp 0x100650cb
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100617f0
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10068940
test al, al
je 0x10067c38
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x48]
shl eax, cl
cmp ebx, eax
jne 0x10067c3c
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.100687e0
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.100687e0
push esi
lea ecx, [esp + 0x20]
call fcn.100687e0
jmp 0x100650cb
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.100687e0
push dword [esp + 0x40]
jmp 0x100675fb
test al, 0x30
jne 0x10067cb7
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push 5
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100616b0
mov edx, esi
mov ecx, eax
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
push eax
lea ecx, [esp + 0x20]
call fcn.100687f0
jmp 0x100650cb
mov ecx, edi
call fcn.10061380
test al, al
je 0x100642d5
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
push 5
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100616b0
mov edx, esi
mov ecx, eax
call fcn.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
mov ecx, dword [edi + 0x2c]
lea esi, [edi + 0x2c]
push 1
mov dword [esp + 0x5c], esi
call fcn.100612c0
mov ecx, dword [esi]
push eax
add ecx, 0x88
call fcn.100686f0
test eax, eax
jne 0x10067f56
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100611c0
test byte [esp + 0x38], 0x10
mov dword [esp + 0x40], eax
je 0x10067eb5
mov ecx, ebx
call fcn.10061030
mov ecx, eax
call fcn.100610b0
mov ecx, dword [esi]
push eax
call fcn.100612e0
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x10067d79
mov ecx, 0xc
call fcn.10061030
jmp 0x10061ff3
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.100695b0
test eax, eax
jne 0x10061ff3
mov ecx, dword [edi + 0x68]
lea eax, [edi + 0x68]
mov dword [esp + 0x44], eax
call fcn.10061200
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100613d0
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.10061230
mov ecx, dword [esp + 0x3c]
movzx esi, cl
lea ecx, [esp + 0x1c]
push esi
push dword [edi + 0x74]
call fcn.100614f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061260
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.10061290
test al, al
je 0x10067e3b
mov esi, dword [esp + 0x54]
mov ecx, ebx
call fcn.100612b0
add dword [esi + 0x20], eax
mov ecx, ebx
adc dword [esi + 0x24], edx
call fcn.10061280
mov ecx, eax
call fcn.10061200
mov ecx, dword [esp + 0x54]
push 0
mov dword [ecx + 0x14], eax
lea ecx, [esp + 0x20]
call fcn.10068950
jmp 0x100650cb
mov ebx, 0xfffffffc
sub ebx, esi
mov dword [esp + 0x50], 4
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100614f0
push dword [esp + 0x50]
lea ecx, [esp + 0x60]
mov esi, eax
push 0
call fcn.10061230
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push ebx
push esi
mov ecx, dword [ecx]
call fcn.10061200
mov ecx, dword [esp + 0x64]
push eax
push dword [esp + 0x58]
mov ecx, dword [ecx]
call fcn.10069180
mov esi, eax
test esi, esi
je 0x10067f56
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x10067ea3
call fcn.10061200
mov dword [esi + 8], eax
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.10061500
jmp 0x100650cb
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.100695b0
test eax, eax
jne 0x10061ff3
mov ecx, dword [edi + 0x68]
call fcn.10061200
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10061200
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.10061230
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.100614f0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061260
mov ecx, edi
call fcn.100613d0
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.10061220
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 0x10067906
mov ecx, 1
call fcn.10061030
jmp 0x10061ff3
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x10061e9f
mov ecx, dword [ebp + 0x14]
call fcn.100610b0
mov ecx, edi
mov esi, eax
call fcn.100610b0
mov edx, esi
mov ecx, eax
call fcn.10061870
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100610b0
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 0x10068053
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10068053
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x1006800d
test byte [eax + 4], 0x70
jne 0x1006803d
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x10068035
shr edx, 2
test dl, 1
je 0x1006803d
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x1006804d
shr edx, 3
test dl, 1
jne 0x10068047
mov eax, 0x2a
jmp 0x10061ff3
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
test byte [eax + 3], 1
je 0x10068072
test esi, 0xd78150
jne 0x1006807e
test dword [esp + 0x20], 0xc00
jne 0x10068072
or esi, 0x10
test esi, 0xd78150
je 0x10068113
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.100687f0
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.10061990
jmp 0x100681f2
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 0x10068193
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x100942f8]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.100687f0
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 0x100680f3
push 0xc5
lea ecx, [esp + 0x20]
call fcn.100687e0
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.100687e0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100687e0
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.100618a0
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.100687e0
jmp 0x100680f9
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.10061550
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14