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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
and dword [esp + 0x40], 0
mov eax, ecx
mov dword [esp + 4], eax
xor cl, cl
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0x74]
sbb eax, eax
and eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov byte [esp + 0x24], cl
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [eax*8 + 0x1009d478]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
shr eax, 0xe
and eax, 0x3ff
mov dword [esp + 0x14], edx
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + 0x1009c478]
movlpd qword [esp + 0x28], xmm0
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx]
and ecx, 7
and eax, 7
lea ecx, [eax + ecx*8]
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], esi
mov eax, dword [ecx + 0x70]
sub eax, edx
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [esp + 0x54], eax
sete al
xor edx, edx
or ecx, eax
inc edx
mov eax, dword [esp + 0x10]
or ecx, dword [eax + 0x44]
or ecx, dword [eax + 0x24]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x100622aa
cmp dword [eax + 0x2c], 0
jne 0x100620b3
push 0
push 5
mov ecx, eax
jmp 0x100621e4
cmp dword [esp + 0x54], 0
je 0x10067ff9
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.100619db
test eax, eax
jne 0x100621ce
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x1006217f
mov esi, edi
mov eax, dword [ebp + 0x18]
lea edi, [esp + 0x70]
push 0
push 6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ebx
lea edi, [esp + 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
lea edi, [esp + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [esp + 0xa8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x10]
lea edi, [esp + 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x20]
mov eax, dword [esp + 0x5c]
lea edi, [esp + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x68], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x6c], eax
mov al, byte [edi + 0x38]
mov byte [esp + 0x48], al
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x74], ecx
push eax
push dword [esp + 0x50]
call dword [edi + 0x64]
add esp, 0x14
test eax, eax
jne 0x100621d2
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x1009d478]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x1009c478]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x10062262
mov eax, dword [esp + 0x20]
and eax, 0x30000
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
shr eax, 0x10
test dl, al
jne 0x100621f2
cmp dword [esp + 0x24], 0
jne 0x100621f9
push 0x21
pop eax
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
push ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x50], ecx
mov ecx, edi
push eax
call fcn.1006e20e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10062257
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x10062217
mov eax, dword [esp + 0x48]
shr eax, 0x11
test dl, al
jne 0x10062217
push 0x22
jmp 0x100621cd
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x10062231
mov eax, dword [esp + 0x48]
shr eax, 0x12
test dl, al
jne 0x10062231
push 0x23
jmp 0x100621cd
mov eax, dword [esp + 0x24]
not al
and al, dl
or eax, 0xf2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov byte [eax], bl
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x1006225b
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x100622aa
mov eax, dword [esp + 0x48]
shr eax, 0xe
test dl, al
je 0x10062310
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10062292
shr eax, 8
test al, 0xf
jne 0x10062310
cmp dword [ecx + 0x4c], edx
jne 0x10062310
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shr ecx, 0xf
not cl
and cl, dl
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
and dword [esp + 0x18], 0
movzx eax, byte [ebx*8 + 0x1009d47e]
mov ecx, dword [eax*4 + 0x100a0870]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x1009d47d]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
movzx ebx, byte [eax + 4]
mov dword [esp + 0x40], ebx
cmp ebx, 0xa0
mov ebx, dword [ebp + 0x10]
ja case.default.0x10062309
mov edi, dword [esp + 0x40]
mov dword [esp + 0x48], 0x8000000
jmp dword [edi*4 + 0x10068000]
push 0x24
jmp 0x100621cd
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x10097ee0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068456
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
shr edx, 0x15
and eax, 8
or edx, eax
mov eax, dword [esp + 0x14]
shr edx, 2
and eax, 8
or edx, eax
shr edx, 1
cmp edx, 0x80
ja 0x10065d5f
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0xc]
test edx, edx
lea ecx, [esp + 0x20]
setne al
and dword [esp + 0x18], 7
add dword [esp + 0x20], eax
and dword [esp + 0x1c], 7
call fcn.10061d32
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 0x100624a0
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10062309
lea ecx, [esp + 0xc]
call fcn.10061c0e
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100617cb
mov ecx, eax
call fcn.10068437
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10062309.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061817
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x10097f48]
call fcn.10061bc0
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068483
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x10097ee0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068456
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065d5f
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0xc]
test edx, edx
lea ecx, [esp + 0x20]
setne al
add dword [esp + 0x20], eax
call fcn.10061d32
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061ddc
mov edi, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
push edi
mov dword [edi + 0x44], eax
mov dword [edi + 0x50], eax
call fcn.10061a7f
xor eax, eax
jmp 0x100621e9
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062309.1
cmp esi, edx
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
test eax, eax
je case.0x10062309.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10065d65
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062309.1
cmp esi, 9
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
cmp eax, 2
jne case.default.0x10062309
mov ecx, ebx
jmp 0x100624e9
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062309.1
cmp esi, 2
jne case.default.0x10062309
xor edx, edx
mov ecx, edi
call fcn.10061c98
test al, al
je case.default.0x10062309
mov esi, edi
mov ecx, esi
call fcn.100617cb
mov ecx, eax
call fcn.10061888
mov ecx, esi
movzx ebx, byte [eax + 0x10097f48]
call fcn.100617cb
mov ecx, eax
call fcn.10061897
test al, al
jne case.default.0x10062309
test bl, 2
jne case.default.0x10062309
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d13
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10061c17
mov edi, eax
mov ecx, edi
call fcn.10061cf1
test al, al
jne 0x10065d5f
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10068456
mov ecx, esi
call fcn.100617cb
mov ecx, eax
call fcn.10061b9c
push eax
lea ecx, [esp + 0x20]
call fcn.10061d8a
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10061bc0
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068483
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d32
xor eax, eax
push eax
push eax
push eax
jmp 0x1006531a
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10062626
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10068437
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10062309.1
cmp esi, 0x19
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
test eax, eax
jne case.default.0x10062309
mov ecx, ebx
jmp 0x10062604
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x10062309.11
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
xor edx, edx
inc edx
jmp case.0x10062309.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100af030]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, edx
je case.0x10062309.63
mov ebx, edi
cmp esi, 2
je 0x100626ca
jmp case.default.0x10062309
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x10062309.14
push 2
pop edx
mov ecx, ebx
call fcn.10061b46
test al, al
je case.default.0x10062309
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061b46
test al, al
je case.default.0x10062309
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.100617ce
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061c69
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061888
mov ecx, ebx
movzx eax, byte [eax + 0x10097f48]
mov dword [esp + 0x48], eax
call fcn.100617cb
mov ecx, eax
call fcn.10061b9c
push eax
lea ecx, [esp + 0x20]
call fcn.10061d8a
lea ecx, [esp + 0x1c]
call fcn.100618de
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10061bc0
test dword [esp + 0x48], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10068483
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d13
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100617cb
mov ecx, eax
call fcn.10061893
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x20]
shr edx, 1
and ecx, 8
and edx, 4
mov dword [esp + 0x28], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x10]
shr edx, 1
and edx, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
call fcn.10061c17
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.10061cf1
test al, al
jne 0x10065d63
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068456
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.10061d32
jmp 0x100672fc
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062309
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10062309.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.10061c3d
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x1006282c
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, edi
jmp 0x100636e7
cmp esi, 2
jne 0x10062847
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
jmp 0x100626c8
mov ecx, ebx
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
cmp esi, 9
je 0x10062825
cmp esi, 0xa
jmp 0x100627e6
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061888
mov ecx, edi
movzx ebx, byte [eax + 0x10097f48]
call fcn.100617cb
mov ecx, eax
call fcn.10061897
test al, al
jne case.default.0x10062309
test bl, 2
jne case.default.0x10062309
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d13
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10061c17
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.10061cf1
test al, al
jne 0x10065d5f
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068456
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.100617cb
mov ecx, eax
call fcn.10061b9c
push eax
lea ecx, [esp + 0x20]
call fcn.10061d8a
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10061bc0
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068483
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d32
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x100625f0
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x100629ae
push 2
pop edx
mov ecx, ebx
call fcn.10061b46
test al, al
je case.default.0x10062309
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061b46
test al, al
je case.default.0x10062309
jmp 0x10062825
cmp esi, edx
jne case.default.0x10062309
mov ecx, edi
call fcn.10061acd
jmp 0x100629a1
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062309
jmp 0x10062825
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100af030]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100629fd
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100636ec
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov dword [esp + 0x14], eax
jmp 0x100626ca
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062a66
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 2
jne 0x10062a50
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068468
jmp case.0x10062309.63
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684bc
jmp case.0x10062309.63
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 2
jne 0x10062a96
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x100626ca
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684bc
jmp 0x100626ca
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100af030]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062ade
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10062309.63
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov dword [esp + 0x14], eax
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10062bfb
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne 0x10065201
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne 0x10062bc8
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10062b83
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
push 4
pop ecx
jmp 0x10062b91
mov edx, esi
call fcn.10061997
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062bb8
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
jmp 0x10062bc8
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10061997
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10068450
test al, al
je case.0x10062309.63
push 2
lea ecx, [esp + 0x10]
call fcn.10061bf1
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10038d2d
jmp case.0x10062309.63
cmp esi, 0x11
jne 0x10062c7a
push 2
lea ecx, [esp + 0x10]
call fcn.10061bf1
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne 0x100626ca
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062c66
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x100626ca
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x14], 4
jmp 0x100626ca
cmp esi, 0xa
jne 0x10062ceb
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, ebx
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne 0x100626c8
mov ecx, ebx
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10062cd7
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x100626c8
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x14], 4
jmp 0x100626c8
push 0x80
lea ecx, [esp + 0x10]
call fcn.10061c3d
cmp esi, 0x19
jne 0x10062f14
mov ecx, edi
call fcn.10061800
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov ecx, dword [esp + 0x44]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x10062d80
mov ecx, edi
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10062d62
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x10062d71
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x54], edx
mov byte [esp + 0x30], dl
jmp 0x10062e82
push 4
pop eax
cmp ecx, 2
jne 0x10062d9b
push 0x200000
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp 0x10062e32
cmp ecx, eax
jne 0x10062db8
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100684d2
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10062e32
cmp ecx, 8
jne 0x10062e35
cmp dword [esp + 0x54], 0x15
jne 0x10062ddb
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100684d8
mov byte [esp + 0x63], bl
pop ecx
pop ecx
test al, al
jne 0x10062de0
mov byte [esp + 0x5b], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068414
pop ecx
pop ecx
test al, al
jne 0x10062e06
cmp byte [esp + 0x5b], al
jne 0x10062e1b
push 0x32
pop ecx
call fcn.100617cb
jmp 0x100621ce
cmp byte [esp + 0x5b], 0
je 0x10062e24
mov ecx, dword [esp + 0x10]
push ebx
call fcn.100619c7
test al, al
je 0x10062e24
push 4
pop eax
mov dword [esp + 0x44], eax
jmp 0x10062e28
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.100684bc
push 4
pop eax
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
call fcn.10068448
push dword [esp + 0x2c]
mov dword [esp + 0x58], eax
push dword [esp + 0x2c]
mov byte [esp + 0x38], al
call fcn.100683ee
pop ecx
pop ecx
test al, al
je 0x10062e7e
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
mov edx, dword [esp + 0x54]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10062d73
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x18], 0
jne 0x10062eee
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x10062e95
cmp dl, bl
je 0x10062ef6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
jne 0x10062eee
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10061c53
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x44], ebx
push 4
setne cl
shl eax, 3
pop ebx
add ecx, ebx
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10061c5e
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x44]
call fcn.10068448
mov byte [esp + 0x30], al
jmp case.0x10062309.1
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
cmp dl, bl
push 3
pop eax
cmovne eax, ebx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp case.0x10062309.63
cmp esi, 0x1a
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065111
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
push 4
mov esi, eax
mov dword [esp + 0x30], edx
pop ebx
lea edx, [esp + 0x40]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x40], ebx
call fcn.10068448
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp dword [esp + 0x34], ebx
jne 0x10062f7e
push dword [esp + 0x2c]
push esi
call fcn.100684d2
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100683ee
pop ecx
pop ecx
test al, al
je 0x10062fb6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
mov ecx, dword [esp + 0x3c]
test al, al
push 1
movzx ecx, cl
pop edx
cmove ecx, edx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x30], cl
jmp 0x10062fb9
xor edx, edx
inc edx
cmp byte [esp + 0x3c], dl
mov ecx, dword [esp + 0x34]
push 3
pop eax
cmovne eax, edx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10061bf1
push dword [esp + 0x34]
jmp 0x10062839
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
cmp eax, 1
je case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov edi, dword [esp + 0x10]
jmp 0x100652a1
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x1006304a
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, ebx
call fcn.10061805
mov dword [esp + 0x14], eax
jmp 0x10062825
cmp esi, 0xa
jne 0x10063063
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
jmp 0x10062ae7
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
lea ecx, [esp + 0xc]
call fcn.10061b9c
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10062825
cmp esi, 0x1a
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
test eax, eax
je 0x10065111
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062825
mov ebx, edi
cmp esi, 2
je 0x100626ca
push 0xe8
lea ecx, [esp + 0x10]
call fcn.10061c3d
and dword [esp + 0x14], 0
jmp 0x10063a12
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x10063134
mov ecx, dword [ebp + 0x14]
call fcn.1006181f
test al, al
je case.default.0x10062309
mov ecx, dword [ebp + 0x14]
call fcn.10061805
test eax, eax
jne case.default.0x10062309
and esi, 0x3f
cmp esi, 9
jne 0x100631f3
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne 0x10065201
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne case.0x10062309.63
mov ecx, edi
call fcn.10061a9d
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100631bb
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
jmp 0x100631c7
mov edx, esi
call fcn.10061997
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064f6d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
jmp case.0x10062309.63
cmp esi, 0xa
jne case.default.0x10062309
jmp 0x10062c7f
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x100627e3
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.100617d4
test al, al
je case.default.0x10062309
lea ecx, [ebx + 0x10]
call fcn.100617d4
jmp 0x100626c0
mov edi, dword [ebp + 0xc]
mov edx, 0x8000000
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
xor eax, eax
cmp byte [edi + 3], 8
cmove eax, edx
or eax, ecx
mov dword [esp + 0xc], eax
cmp esi, 9
jne 0x100632c9
mov ecx, ebx
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 1
jne 0x100632a2
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006328b
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10063299
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10062309.63
mov ecx, ebx
call fcn.10061800
cmp eax, 2
jne 0x100632b9
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068468
push 1
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp case.0x10062309.63
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061800
test eax, eax
je 0x10065111
mov ecx, ebx
call fcn.10061800
cmp eax, 2
jne 0x100632f8
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, ebx
call fcn.10061800
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp 0x100626ca
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.1006843b
mov ecx, ebx
mov di, ax
call fcn.100617cb
mov ecx, eax
call fcn.10068437
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.0x10062309.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10063406
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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.100683ee
pop ecx
pop ecx
test al, al
je 0x100633d1
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
je 0x100633f4
push 2
lea ecx, [esp + 0x10]
call fcn.10061c48
mov ecx, edi
call fcn.10061800
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061805
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x100636e7
cmp esi, 0xd1
jne 0x100634c4
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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.10061800
cmp eax, 4
jne 0x10063471
push dword [esp + 0x2c]
push esi
call fcn.100684d2
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100683ee
pop ecx
pop ecx
test al, al
je 0x10063498
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
je 0x10062a06
push 2
lea ecx, [esp + 0x10]
call fcn.10061c48
mov ecx, edi
call fcn.10061800
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062a06
cmp esi, 9
jne 0x1006352b
mov ecx, ebx
call fcn.10061800
cmp eax, 1
je 0x10063637
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne 0x10065201
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
jmp case.0x10062309.63
cmp esi, 0x11
jne 0x1006356f
mov ecx, ebx
call fcn.10061800
cmp eax, 1
je 0x1006369c
mov ecx, edi
call fcn.10061805
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
jmp 0x100626ca
cmp esi, 0x19
jne case.0x10062309.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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.10061800
cmp eax, 4
jne 0x100635d0
push ebx
push esi
call fcn.100684d2
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100683ee
pop ecx
pop ecx
test al, al
je 0x100635f3
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
je 0x10063616
push 2
lea ecx, [esp + 0x10]
call fcn.10061c48
mov ecx, edi
call fcn.10061800
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061805
mov dword [esp + 0x18], eax
jmp 0x10062ad5
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x10062309.12
cmp esi, 9
jne 0x10063697
xor edx, edx
mov ecx, edi
call fcn.10061b2d
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.10061abd
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10063683
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x100631e3
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x18], 4
jmp case.0x10062309.63
cmp esi, 0x11
jne 0x100636b6
xor edx, edx
mov ecx, edi
call fcn.10061b2d
mov edi, dword [esp + 0x10]
test al, al
je 0x100624fa
jmp 0x100626ce
cmp esi, 0x49
jne 0x100636f5
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, dword [ebp + 0x14]
call fcn.10061805
mov dword [esp + 0x18], eax
jmp case.0x10062309.63
cmp esi, 0x89
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ebx, dword [ebp + 0x14]
jmp 0x100626ca
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x1006376c
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 1
jne case.0x10062309.63
mov ecx, edi
jmp 0x10063664
cmp esi, 2
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
test eax, eax
je 0x10065111
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x1006380b
mov ecx, edi
call fcn.10061805
test eax, eax
jne case.default.0x10062309
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10068437
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061800
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10061d07
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684ec
jmp case.0x10062309.1
cmp esi, 9
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
test eax, eax
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
cmp eax, 2
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061bf1
jmp 0x100637f5
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062309
push 7
pop edx
mov ecx, edi
call fcn.10061c98
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.10061805
cmp eax, 2
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov ebx, eax
test ebx, ebx
je 0x10065111
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10061bf1
push ebx
lea ecx, [esp + 0x10]
call fcn.100684ec
jmp 0x10062540
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x1006376c
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 1
jne 0x100638d8
mov eax, dword [edi]
jmp 0x10063268
mov ecx, dword [esp + 0x10]
call fcn.100619a5
test al, al
je 0x100638fc
mov ecx, dword [esp + 0x38]
call fcn.10061d07
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x100637eb
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
jmp case.0x10062309.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
jmp 0x10062614
push 0x40
mov edx, 0x80
pop ecx
call fcn.1006198d
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068450
mov edi, dword [ebp + 0xc]
test al, al
je 0x10063981
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.100619c7
test al, al
je 0x10063981
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10068450
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.10068468
mov ebx, edi
jmp 0x100630fc
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.100617d4
test al, al
je 0x10063981
xor edx, edx
mov ecx, edi
inc edx
call fcn.1006183e
test al, al
je case.default.0x10062309
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.100619a5
test al, al
je 0x100639c3
mov ecx, edi
call fcn.10061800
cmp eax, 2
je 0x100639da
mov ecx, esi
call fcn.100619ab
test al, al
je 0x100639de
mov ecx, edi
call fcn.10061800
cmp eax, 4
jne 0x100639de
mov al, 1
jmp 0x100639e0
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10068483
jmp 0x100630fc
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10062825
mov ebx, edi
cmp esi, 2
je 0x100626ca
push 0xe9
jmp 0x100630f3
mov ebx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065d63
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
mov dword [esp + 0x50], edx
or cl, 0x40
mov byte [eax], cl
xor eax, eax
mov ecx, dword [esp + 0x1c]
test edx, edx
setne al
add ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x3c], ecx
movzx eax, byte [eax + 7]
mov ecx, dword [esp + 0xc]
and ecx, 0x1f00
sub ecx, 0x100
mov esi, dword [eax*4 + 0x1009d258]
neg ecx
mov dword [esp + 0x34], esi
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [esp + 0x14], eax
setne al
add eax, 5
add ecx, eax
mov eax, dword [ebx]
and al, 7
mov dword [esp + 0x48], ecx
mov ecx, ebx
cmp al, 4
jne 0x10063c07
call fcn.100617cb
mov ecx, dword [edi + 0x2c]
push eax
call fcn.1006196c
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10067b92
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x48], esi
call fcn.10061934
test al, al
je 0x10063b42
mov ecx, ebx
call fcn.10061941
mov ebx, dword [esp + 0x48]
mov esi, eax
sub esi, dword [esp + 0x3c]
sub esi, ebx
lea eax, [esi - 2]
add eax, ebx
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.1006855d
test al, al
je 0x10063cb1
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x10063cb1
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
jne 0x10063cb1
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10061997
push ebx
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x100624b9
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x10063b6c
cmp dword [esp + 0xc], 0
je 0x10063bf0
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068450
test al, al
jne 0x10063bf0
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x44], esi
je 0x10063caa
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068450
test al, al
jne 0x10063caa
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10061c69
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068456
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068468
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068456
mov dword [esp + 0x34], 0xfffffffc
push 4
pop ebx
jmp 0x10067c63
push ebx
lea ecx, [esp + 0x20]
call fcn.10068468
or dword [esp + 0x34], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x10067c63
call fcn.100617eb
test al, al
je 0x100624fa
mov ecx, edi
call fcn.100619a1
mov ecx, eax
call fcn.1006194c
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x10063d3f
mov ebx, dword [esp + 0x48]
mov esi, eax
sub esi, ebx
mov ecx, edi
sbb edx, 0
sub esi, dword [esp + 0x44]
sbb edx, dword [esp + 0x38]
sub esi, dword [esp + 0x3c]
sbb edx, 0
mov dword [esp + 0x40], edx
call fcn.100619b3
mov cl, al
call fcn.100618d0
test al, al
jne 0x10063ae2
push dword [esp + 0x40]
push esi
call fcn.10068414
pop ecx
pop ecx
test al, al
jne 0x10063ae2
mov ecx, dword [esp + 0x54]
call fcn.10061c85
test al, al
jne 0x10063d3b
push 0x30
jmp 0x10067b94
cmp dword [esp + 0xc], 0
je 0x10063caa
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10068450
test al, al
jne 0x10063caa
push 0x10
pop ecx
call fcn.10061988
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.1006199c
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10061c69
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068456
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068468
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068456
push esi
lea ecx, [esp + 0x20]
call fcn.10068475
jmp 0x100624b9
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.10069115
test eax, eax
jne 0x100621d2
mov ecx, edi
call fcn.100619d4
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.100618de
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
cmp dword [esp + 0xc], 0
je 0x10063e74
mov ecx, edi
call fcn.100619b3
mov cl, al
call fcn.100618d6
test al, al
je 0x10063dea
mov ecx, dword [esp + 0x54]
call fcn.10061c85
test al, al
je 0x10063dea
cmp dword [esp + 0x50], 0
jne 0x10063dc7
push 0x40
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x34]
call fcn.10068c2f
test eax, eax
jne 0x100621d2
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10061c69
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068456
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068468
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10068456
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.100618ed
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061a41
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061912
push ebx
lea ecx, [esp + 0x20]
call fcn.1006856c
jmp 0x100624b9
push esi
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.100618ed
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061a41
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061912
push ebx
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x100624b9
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10063f09
mov ecx, edi
mov ebx, edi
call fcn.10061800
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x10063ede
mov ecx, edi
call fcn.100619b7
mov esi, eax
jmp 0x10063efa
sub esi, 2
cmp esi, 2
je 0x10063efa
cmp esi, 4
je 0x10063efa
mov ecx, edi
call fcn.100619b7
cmp esi, eax
jne 0x10064613
push esi
lea ecx, [esp + 0x10]
call fcn.10068492
jmp 0x100626ce
cmp esi, 0x1b
jne case.default.0x10062309
mov ecx, dword [esp + 0x10]
call fcn.100619a5
test al, al
je case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, ebx
mov esi, eax
call fcn.100617cb
mov ecx, esi
mov edi, eax
call fcn.100618c7
test edx, edx
jg 0x10062df9
jl 0x10063f51
cmp eax, 0xffff
ja 0x10062df9
mov ecx, edi
call fcn.100618c7
test edx, edx
jg 0x10062df9
jl 0x10063f6b
cmp eax, 0xffffffff
ja 0x10062df9
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, esi
call fcn.100618c7
mov ecx, edi
mov esi, eax
call fcn.100618c7
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x10062309.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
jmp 0x10062a06
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100641cd
mov ecx, edi
call fcn.1006181f
mov ecx, edi
test al, al
je 0x1006415f
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006181f
test al, al
je 0x100640bd
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne case.default.0x10062309
cmp esi, 1
jne 0x100640a0
mov ecx, edi
call fcn.10061a9d
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10064050
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
jmp 0x1006405c
mov edx, esi
call fcn.10061997
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064081
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
jmp 0x1006408d
mov edx, esi
call fcn.10061997
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x10062bc8
push 0x89
lea ecx, [esp + 0x10]
call fcn.10061c3d
push esi
lea ecx, [esp + 0x10]
call fcn.10068492
jmp 0x10062bc8
mov ecx, ebx
call fcn.10061afd
test al, al
je 0x100640f0
push 0x8c
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
dec dword [esp + 0x14]
jmp case.0x10062309.63
mov ecx, ebx
call fcn.10061b0d
test al, al
je 0x1006413d
push pe_nt_image_headers32
lea ecx, [esp + 0x10]
call fcn.10061c3d
test byte [esp + 0x14], 8
je case.0x10062309.63
mov ecx, dword [esp + 0x10]
call fcn.100619a5
test al, al
je case.0x10062309.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10068468
and dword [esp + 0x14], 7
jmp case.0x10062309.63
mov ecx, ebx
call fcn.10061b1d
test al, al
je case.default.0x10062309
push 0x121
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp case.0x10062309.63
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006181f
test al, al
je case.default.0x10062309
mov ecx, edi
call fcn.10061afd
test al, al
je 0x100641a2
push 0x8e
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, ebx
jmp 0x100640d8
mov ecx, edi
call fcn.10061b0d
test al, al
je 0x100641b7
push 0x122
jmp 0x10064100
mov ecx, edi
call fcn.10061b1d
test al, al
je case.default.0x10062309
push 0x123
jmp 0x10064151
cmp esi, 0x11
jne 0x100642d4
mov ecx, edi
call fcn.10061805
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10061afd
lea ecx, [esp + 0xc]
test al, al
je 0x1006421a
push 0x8e
call fcn.10061c3d
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
dec dword [esp + 0x14]
jmp 0x100626ca
push 0
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
cmp dword [esp + 0x14], 0
jne 0x10064286
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061860
test al, al
jne 0x10064286
mov ecx, ebx
call fcn.100617cb
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10061800
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10061e33
add esp, 0xc
test al, al
je 0x10064286
push 0xa0
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp 0x10064686
mov ecx, edi
call fcn.10061800
cmp eax, 1
jne 0x100642ca
mov ecx, edi
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x100642bb
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x100642ca
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x14], 4
push 0x8a
jmp 0x10063307
cmp esi, 0xa
jne 0x100643dd
mov ecx, ebx
call fcn.10061805
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.10061afd
lea ecx, [esp + 0xc]
test al, al
je 0x10064323
push 0x8c
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x100626ca
push 0
call fcn.10061c3d
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
cmp dword [esp + 0x14], 0
jne 0x10064386
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061860
test al, al
jne 0x10064386
mov ecx, edi
call fcn.100617cb
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10061800
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.10061e33
add esp, 0xc
test al, al
je 0x10064386
push 0xa2
jmp 0x10064278
mov ecx, ebx
call fcn.10061800
cmp eax, 1
jne 0x100643ca
mov ecx, ebx
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x100643bb
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x100643ca
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp 0x1006431c
cmp esi, 0x19
jne 0x1006450f
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
mov byte [esp + 0x30], al
cmp al, 1
jne 0x10064465
mov ecx, edi
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10064429
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x10064438
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10068437
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10063018
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x100644b7
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
jne 0x100644b7
push ebx
push esi
call fcn.100684d8
pop ecx
pop ecx
test al, al
je 0x100644d7
mov ecx, dword [esp + 0x10]
push 1
call fcn.100619c7
test al, al
je 0x100644d7
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.10061c3d
push dword [esp + 0x30]
lea ecx, [esp + 0x10]
call fcn.10068502
jmp 0x10063018
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068414
pop ecx
pop ecx
test al, al
je 0x100644b7
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.10061c3d
and dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x10062309.63
cmp esi, 0x1a
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov dword [esp + 0x34], eax
test eax, eax
je 0x10065111
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.10061c3d
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10068492
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
lea edx, [esp + 0x50]
call fcn.10068448
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x1006461a
mov ecx, edi
call fcn.10061805
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061809
test al, al
je case.default.0x10062309
cmp dword [esp + 0x14], 0
jne case.default.0x10062309
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061860
test al, al
jne 0x1006460f
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061b79
cmp eax, 2
jne 0x10064686
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x10067b94
cmp esi, 0xa
jne 0x100646cc
mov ecx, ebx
call fcn.10061805
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.10061c3d
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061809
test al, al
je case.default.0x10062309
cmp dword [esp + 0x14], 0
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061860
test al, al
jne 0x1006460f
mov ecx, esi
call fcn.100617cb
mov ecx, eax
call fcn.100618ac
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.100619b7
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x30], al
call fcn.100617cb
mov ecx, eax
call fcn.10061b9c
push eax
lea ecx, [esp + 0x20]
call fcn.10061d8a
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10062309.1
cmp esi, 0x19
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061aad
test al, al
je case.default.0x10062309
mov ecx, edi
call fcn.10061805
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10061c3d
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10068518
jmp 0x10063018
mov ecx, ebx
call fcn.10061800
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061bf1
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
cmp esi, 9
jne 0x100629fd
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 1
jne case.0x10062309.63
jmp 0x10063266
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061aad
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068523
jmp 0x10062ae7
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, ebx
mov esi, eax
call fcn.100617cb
mov ecx, eax
call fcn.10061817
mov ecx, esi
mov bl, al
call fcn.10061817
cmp al, bl
jne case.default.0x10062309
mov ecx, esi
call fcn.10061856
test al, al
jne case.default.0x10062309
mov ecx, esi
call fcn.10061897
test al, al
jne case.default.0x10062309
mov ecx, esi
call fcn.10061b92
test al, al
je 0x10064821
mov ecx, esi
call fcn.10061b9c
cmp eax, 1
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x100626ca
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x1006488d
mov ecx, ebx
call fcn.10061805
test eax, eax
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061800
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10061d07
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.10061c3d
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684ec
jmp 0x10062602
cmp esi, 9
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
cmp eax, 2
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
test eax, eax
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061800
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10061bf1
mov ecx, ebx
jmp 0x100637f7
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
cmp eax, 2
jne case.default.0x10062309
push 6
pop edx
mov ecx, ebx
call fcn.10061c98
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.10061800
mov edi, eax
test edi, edi
je 0x10065111
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10061bf1
push edi
jmp 0x100638a1
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064968
mov ecx, edi
call fcn.10061afd
test al, al
je 0x100649fe
mov ecx, edi
call fcn.10061805
cmp eax, 7
jae 0x100649f7
push dword [eax*4 + 0x10097f28]
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp case.0x10062309.1
cmp esi, 3
jne 0x10064a42
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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.100683ee
pop ecx
pop ecx
test al, al
je 0x100649b9
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
movzx ebx, bl
push 1
pop eax
cmove ebx, eax
mov byte [esp + 0x30], bl
push 0x68
pop eax
push 0x6a
pop ecx
cmp bl, 1
cmove eax, ecx
push eax
jmp 0x1006495a
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064a42
mov ecx, edi
call fcn.10061afd
test al, al
je 0x100649fe
mov ecx, edi
call fcn.10061805
cmp eax, 2
je 0x100649f7
cmp eax, 7
jae 0x100649f7
push dword [eax*4 + 0x10098410]
jmp 0x1006495a
push 0x31
jmp 0x10062dfb
mov ecx, edi
call fcn.10061800
cmp eax, 2
jb case.default.0x10062309
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684ec
mov ecx, edi
call fcn.10061805
mov dword [esp + 0x14], eax
jmp 0x10063018
cmp esi, 2
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
test eax, eax
je 0x10065111
mov ecx, edi
call fcn.10061800
cmp eax, esi
je 0x10064a7f
mov ecx, edi
call fcn.10061800
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.100619b7
cmp esi, eax
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684ec
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x10064aab
push edx
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp case.0x10062309.1
cmp esi, 3
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10064ae6
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
jne 0x10064ae6
push 1
jmp 0x10064a9d
mov byte [esp + 0x30], 2
jmp case.0x10062309.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10064bd1
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 1
jne 0x10064b5e
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064b4c
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10064b5a
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10064b7a
mov ecx, ebx
call fcn.10061805
cmp eax, 1
jne case.default.0x10062309
push 2
jmp 0x10062f06
cmp esi, 0x19
jne case.default.0x10062309
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
xor ebx, ebx
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], dl
cmp eax, ebx
jne 0x10064bbd
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
je case.0x10062309.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.10061c48
mov byte [esp + 0x30], bl
jmp case.0x10062309.63
call fcn.10061800
test eax, eax
je 0x10065111
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
cmp esi, 0xa
jne 0x10064c14
mov ecx, ebx
call fcn.10061805
cmp eax, 1
jne case.default.0x10062309
push 2
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp 0x100626c8
cmp esi, 0x1a
jne case.default.0x10062309
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
xor ebx, ebx
movzx eax, al
xor cl, cl
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x3c], ecx
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], cl
cmp eax, ebx
jne 0x10064c5d
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
je 0x100626c8
push 0x10
lea ecx, [esp + 0x10]
call fcn.10061c48
mov al, bl
jmp 0x10064580
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100627e3
mov ecx, edi
call fcn.10061805
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x10064c9d
cmp eax, 4
jmp 0x10063279
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x10063290
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10064cef
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, ebx
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
jmp 0x100623ed
cmp esi, 0xca
jne 0x10064d3b
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.10068492
mov ecx, ebx
call fcn.10061805
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100626ca
push edx
lea ecx, [esp + 0x10]
call fcn.10061bf1
cmp esi, 0x49
jne 0x10064d62
mov ecx, dword [ebp + 0x14]
call fcn.10061805
cmp eax, 1
jne case.default.0x10062309
mov ecx, edi
jmp 0x1006302b
cmp esi, 0x4a
jne case.default.0x10062309
mov ecx, dword [ebp + 0x14]
call fcn.10061805
cmp eax, 1
jne case.default.0x10062309
mov ecx, ebx
jmp 0x1006304f
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, ebx
mov esi, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
test eax, eax
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
xor edx, edx
mov ecx, eax
call fcn.1006183e
test al, al
je case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov edi, eax
call fcn.100617f6
test al, al
je 0x10064de2
mov ecx, ebx
call fcn.10061800
cmp eax, edi
jne 0x10065201
push edi
lea ecx, [esp + 0x10]
call fcn.100684a7
jmp 0x10062540
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, edi
mov esi, edi
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
test eax, eax
jne case.default.0x10062309
mov ecx, ebx
call fcn.100617cb
xor edx, edx
mov ecx, eax
call fcn.1006183e
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.10061800
mov ecx, edi
mov ebx, eax
call fcn.100617f6
test al, al
je 0x10064e50
mov ecx, edi
call fcn.10061800
cmp eax, ebx
jne 0x10065201
push ebx
jmp 0x10064de3
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10062309
mov ecx, edi
call fcn.100617cb
mov ecx, eax
call fcn.10061888
mov ecx, ebx
mov esi, eax
call fcn.100617cb
mov ecx, eax
call fcn.10061888
cmp esi, eax
jne case.default.0x10062309
mov ecx, edi
mov esi, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061897
test al, al
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061800
mov ebx, eax
test ebx, ebx
je 0x10065111
jmp 0x10064e41
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064f7e
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
jne 0x10065201
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne case.0x10062309.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10064f40
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10061997
push 4
pop ecx
jmp 0x10064f4e
mov edx, esi
call fcn.10061997
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064f69
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x100631df
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10061997
add dword [esp + 0x14], 4
jmp case.0x10062309.63
cmp esi, 0xa
jne 0x10064fca
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, ebx
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne 0x100626c8
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062cd7
jmp 0x10062cba
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
lea ecx, [esp + 0xc]
call fcn.10061b9c
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x100650fd
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061800
cmp eax, 1
jne 0x10065072
mov ecx, edi
call fcn.10061a9d
lea ecx, [esp + 0x20]
test al, al
jne 0x10065042
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061997
jmp 0x10065051
mov edx, Ordinal_2
call fcn.10061997
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10068437
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100650ac
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061800
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068448
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x10062309.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
jne case.0x10062309.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, edi
call fcn.10061800
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp case.0x10062309.1
cmp esi, 0x1a
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
test eax, eax
jne 0x10065118
push 0x34
jmp 0x100621cd
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], 4
call fcn.10061800
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
jmp 0x10064577
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10062309.61
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684a7
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
cmp eax, 1
jne 0x100626ca
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100651b4
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100651c2
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x100626ca
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006532e
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
cmp esi, eax
je 0x10065208
push 0x35
jmp 0x100621cd
cmp esi, 1
je 0x10064f0b
cmp dword [esp + 0x54], 0x668
jne 0x10065328
cmp dword [esp + 0x14], 0
je 0x10065231
cmp dword [esp + 0x18], 0
jne 0x10065328
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.100619ab
test al, al
je 0x1006525f
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x1006525f
cmp esi, 4
jb 0x1006525f
cmp esi, 8
jne 0x10065328
push 0x8000000
jmp 0x1006528a
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10068450
test al, al
jne 0x10065328
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.100684a7
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.10061c53
push 0x90
lea ecx, [esp + 0x10]
call fcn.10061c5e
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d13
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.10061c17
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10061cf1
test al, al
jne 0x10065d63
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068456
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10061bf1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10061d32
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.10061ddc
jmp 0x100624b9
push esi
jmp 0x10063904
cmp esi, 0xa
jne case.default.0x10062309
jmp 0x10064f83
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065388
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068450
test al, al
je case.0x10062309.63
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x10062be9
cmp esi, 0x11
je 0x10062a06
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x10062ae7
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065457
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x100654aa
test edx, edx
jne case.default.0x10062309
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10061c69
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x10097ee0]
lea ecx, [esp + 0x20]
push eax
call fcn.10068456
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0xc]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], cl
inc dword [esp + 0x1c]
jmp case.0x10062309.0
cmp esi, 2
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.10061c3d
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10061c53
jmp 0x100626c8
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x100654a6
cmp esi, edx
jne 0x10065457
mov ecx, edi
call fcn.10061805
mov edx, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xc]
shr eax, 0xa
movzx eax, al
add eax, 0x36000
add eax, edx
mov dword [esp + 0xc], eax
jmp case.0x10062309.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x1006555e
mov ecx, edi
mov ebx, edi
call fcn.10061800
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x100654f6
push 0x1000
mov ecx, esi
call fcn.10061bcd
test al, al
jne 0x100626ca
mov ecx, edi
call fcn.10061800
cmp eax, 8
jne 0x10065519
push 0x2000
mov ecx, esi
call fcn.10061bcd
test al, al
je 0x10065519
push 4
jmp 0x10063307
mov ecx, edi
call fcn.10061800
cmp eax, 0xa
jne case.default.0x10062309
push 0x800
mov ecx, esi
call fcn.10061bcd
test al, al
je case.default.0x10062309
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
lea ecx, [esp + 0xc]
call fcn.10061b9c
jmp 0x10062a0d
cmp esi, edx
jne case.default.0x10062309
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10065582
mov ecx, edi
call fcn.10061805
add eax, 0x364c0
jmp 0x10065406
cmp eax, 0xec
jne 0x1006559a
mov ecx, edi
call fcn.10061805
add eax, 0x374d0
jmp 0x10065406
cmp eax, 0xef
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
add eax, 0x374d8
jmp 0x10065406
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062309
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, edi
mov ebx, edi
call fcn.10061800
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x100655f6
push 0x800
mov ecx, esi
call fcn.10061bcd
test al, al
jne 0x10065512
mov ecx, edi
call fcn.10061800
cmp eax, 4
jne 0x10065616
push 0x1000
mov ecx, esi
call fcn.10061bcd
test al, al
jne 0x100626ca
mov ecx, edi
call fcn.10061800
cmp eax, 8
jne case.default.0x10062309
push 0x2000
mov ecx, esi
call fcn.10061bcd
test al, al
je case.default.0x10062309
mov ecx, dword [esp + 0x38]
call fcn.10061d07
and eax, 0xffff1fff
jmp 0x10065546
test esi, esi
jne case.0x10062309.70
push edx
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp case.0x10062309.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
push eax
jmp 0x10065652
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065699
mov ecx, edi
call fcn.10061805
test eax, eax
jne case.default.0x10062309
mov ecx, dword [esp + 0x38]
call fcn.10061d07
jmp 0x10065406
cmp esi, 2
jne case.default.0x10062309
jmp 0x1006547f
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x100656e7
mov ecx, ebx
call fcn.10061add
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068532
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x100633f4
cmp esi, 0xca
jne case.default.0x10062309
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, ebx
call fcn.10061add
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068532
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10062ae7
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x1006577e
mov ecx, ebx
call fcn.10061add
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068532
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x1006303a
cmp esi, 0xca
jne case.default.0x10062309
jmp 0x10065704
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100657d8
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068450
test al, al
je case.0x10062309.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x10062309.63
mov ecx, eax
jmp 0x10065374
cmp esi, 0x11
je 0x10062a06
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x10062ade
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065814
mov ecx, edi
call fcn.10061800
cmp eax, 1
je case.default.0x10062309
jmp 0x10063fae
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061800
cmp eax, 1
je case.default.0x10062309
jmp 0x10064d7c
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100658f2
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061aed
test al, al
je 0x100658a6
mov ecx, ebx
call fcn.10061aed
test al, al
je 0x100658a6
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068450
test al, al
je case.0x10062309.63
push 0x10
jmp 0x10062be0
mov ecx, edi
call fcn.10061add
test al, al
je 0x10065972
mov ecx, ebx
call fcn.10061add
test al, al
je 0x10065972
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068450
test al, al
je case.0x10062309.63
push 0x2001d6
jmp 0x1006537a
cmp esi, 0x11
jne 0x10065932
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061aed
test al, al
je 0x10065920
push 0x16f
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x100626ca
mov ecx, edi
call fcn.10061add
test al, al
je 0x10065972
push 0x40017e
jmp 0x10065912
cmp esi, 0xa
jne 0x10065972
mov ecx, ebx
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061aed
test al, al
je 0x10065960
push 0x17f
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x100626c8
mov ecx, ebx
call fcn.10061add
test al, al
je 0x10065972
push 0x2001d6
jmp 0x10065952
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x4c], eax
call fcn.10061c5e
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, 0x200000
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x10000161
cmove ecx, edx
or dword [esp + 0xc], ecx
cmp esi, 9
jne 0x100659be
mov ecx, ebx
call fcn.1006181f
test al, al
je 0x100659c7
jmp 0x100633ff
cmp esi, 0x11
je 0x100626ca
push dword [esp + 0x48]
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
mov ecx, ebx
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061add
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068532
cmp esi, 9
jne 0x10062868
mov ecx, edi
call fcn.1006181f
jmp 0x100629a1
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10065a34
xor edx, edx
mov ecx, eax
call fcn.10061b60
test al, al
je case.default.0x10062309
and esi, 0x3f
jmp case.0x10062309.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10065a34
push 7
pop edx
mov ecx, eax
call fcn.10061c98
jmp 0x10065a2c
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10065a67
mov edx, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, edx
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100629ee
cmp esi, 0x11
jne case.default.0x10062309
mov eax, dword [edi + 4]
jmp 0x10062a0d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065ade
mov ecx, edi
call fcn.10061add
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061add
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10068541
mov ecx, edi
call fcn.10061805
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x100636e7
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, edi
call fcn.10061add
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068532
jmp 0x10062a06
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100633f4
cmp esi, 0x11
je 0x10062a06
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
lea ecx, [esp + 0xc]
call fcn.10061b9c
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10062309
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062825
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10065aa8
cmp esi, 0x11
je 0x10065ae7
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
lea ecx, [esp + 0xc]
call fcn.10061b9c
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10062309
mov ecx, edi
call fcn.10061add
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068532
jmp 0x10065b3c
mov ebx, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
or eax, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x100633f4
cmp esi, 0xd1
jmp 0x10062a00
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x10065aa8
cmp esi, 0xd1
jmp 0x10065ae1
mov ecx, dword [ebp + 0xc]
call fcn.10061805
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10062309.63
cmp esi, 0xd9
jne case.default.0x10062309
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.10061b9c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100617cb
mov ecx, eax
call fcn.10068437
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100617cb
mov ecx, eax
call fcn.10068437
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.0x10062309.63
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [edi + 4]
and ecx, 7
shl ecx, 9
add ecx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp ecx, 9
je case.0x10062309.63
cmp ecx, 0x6c9
jne case.default.0x10062309
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, dword [ebp + 0x18]
call fcn.100617cb
mov ecx, eax
call fcn.10068437
mov ecx, dword [ebp + 0x14]
jmp 0x10065c88
mov edi, dword [ebp + 0xc]
and dword [esp + 0x2c], 0
movzx eax, cl
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [edi + 4]
mov dword [esp + 0xc], 0x10f
mov dword [esp + 0x14], eax
cmp esi, 9
je 0x100633ff
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x100624fa
jmp 0x100626ce
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x100621d2
mov esi, ecx
mov eax, ecx
shr esi, 6
and eax, 0x600000
and esi, 0x1800000
and ecx, 0x1f00
or esi, eax
mov eax, dword [esp + 0x20]
shr esi, 5
or esi, ecx
shr eax, 0xa
shr esi, 8
test dl, al
je 0x10065dbc
push 0x18
lea ecx, [esp + 0x10]
call fcn.10061c72
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10068475
jmp case.0x10062309.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068468
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068468
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068468
jmp case.0x10062309.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065e81
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006181f
test al, al
je 0x10065e37
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp case.0x10062309.93
mov ecx, edi
call fcn.1006181f
test al, al
je 0x10065e4e
mov ecx, dword [esp + 0x38]
call fcn.10061d07
inc eax
jmp 0x10065e28
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068450
test al, al
je case.0x10062309.93
push 1
lea ecx, [esp + 0x10]
call fcn.10061bf1
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10038d2d
jmp case.0x10062309.93
cmp esi, 0x11
jne 0x10065e92
mov ecx, edi
call fcn.10061805
jmp 0x10066ee7
cmp esi, 0xa
jne case.default.0x10062309
push edx
lea ecx, [esp + 0x10]
call fcn.10061bf1
jmp 0x10066ede
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100617cb
mov ecx, eax
call fcn.10061aad
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10068523
jmp case.0x10062309.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10062309
mov ebx, edi
jmp 0x10066eeb
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10066975
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061800
mov ecx, eax
call fcn.10061cdb
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.10061ccb
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068440
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp 0x10066ede
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x10062309.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061805
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x30], 1
jmp case.0x10062309.93
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
or eax, dword [edi + 8]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10066005
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10067dac
cmp esi, 0xca
jmp 0x10066ed8
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x1006602a
push 7
pop edx
mov ecx, eax
call fcn.10061c98
test al, al
je case.default.0x10062309
and esi, 0x3f
jmp case.0x10062309.103
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x10062309.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10066083
mov ecx, ebx
call fcn.10061800
mov ecx, eax
call fcn.10061cdb
push eax
jmp 0x10066098
mov ecx, edi
call fcn.10061800
cmp eax, 0x20
jne case.0x10062309.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp case.0x10062309.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x10062309.106
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.1006181f
test al, al
je case.0x10062309.106
mov ecx, edi
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
or esi, eax
mov ecx, esi
call fcn.10061cdb
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.10061d07
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.10061c3d
mov ecx, edi
call fcn.10061805
jmp 0x10067da1
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006612b
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10067dac
cmp esi, 0x11
jne case.default.0x10062309
mov eax, dword [edi + 4]
jmp 0x10066ee7
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov ecx, eax
call fcn.10061cdb
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10061ccb
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068440
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp 0x10065e86
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x34], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.1006182e
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.1006182e
test al, al
je case.default.0x10062309
mov ecx, dword [ebp + 0x14]
call fcn.1006182e
test al, al
je case.default.0x10062309
mov ecx, dword [ebp + 0x18]
call fcn.1006182e
test al, al
je case.default.0x10062309
mov ecx, dword [esp + 0x34]
call fcn.1006182e
test al, al
je case.default.0x10062309
mov ecx, esi
call fcn.100617e1
test al, al
je case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10061805
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10061805
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.10061805
mov edx, eax
test bl, 3
jne 0x10066252
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10066252
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10066252
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10066252
mov ecx, edi
call fcn.10061805
mov edx, ebx
mov ecx, eax
call fcn.10061cc4
mov ebx, dword [esp + 0x24]
jmp 0x10066ee7
push 0x3c
jmp 0x10062dfb
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x10062309.111
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
je 0x1006611c
cmp esi, 0xd1
jne case.default.0x10062309
jmp 0x10065e86
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10062309.115
push 2
pop edx
mov ecx, eax
call fcn.1006183e
test al, al
je case.default.0x10062309
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x48]
or ecx, eax
or dword [esp + 0xc], ecx
jmp 0x1006636e
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066476
cmp esi, 0x89
jne case.default.0x10062309
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x10066ee7
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
test al, 1
jne 0x1006641f
mov ecx, edi
call fcn.10061805
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10061805
cmp esi, eax
jne 0x1006641f
mov ecx, dword [ebp + 0x14]
call fcn.10061800
mov ecx, eax
call fcn.10061cdb
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
mov ecx, dword [ebp + 0x14]
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.100617d4
mov ecx, ebx
test al, al
jne 0x10067da7
call fcn.100617e1
test al, al
je case.default.0x10062309
jmp 0x10066eeb
push 0x1d
jmp 0x10062dfb
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
and dword [esp + 0x2c], 0
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and ecx, 7
shl eax, 4
shl ecx, 9
add ecx, esi
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp ecx, 0x249
jne 0x1006648e
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 0x10067dac
cmp ecx, 0x289
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ebx, dword [ebp + 0x14]
jmp 0x10066ee7
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
jmp case.0x10062309.122
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x2c], ecx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
xor eax, eax
or eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
cmp eax, 0x649
je 0x10066476
cmp eax, 0x689
jmp 0x10066494
mov ecx, dword [ebp + 0xc]
call fcn.10061aad
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10061aad
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.1006854f
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067d87
cmp esi, 0x51
jne case.default.0x10062309
mov ecx, dword [ebp + 0x14]
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
jmp 0x10066ee7
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10062309.128
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x10066148
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x10062309
mov ecx, edi
call fcn.10061800
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061800
or esi, eax
mov ecx, esi
call fcn.10061cdb
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.10061ccb
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068440
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp 0x100665a0
mov ecx, dword [ebp + 0x18]
call fcn.100617ce
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x10067d87
cmp eax, 0x651
jmp 0x1006659a
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066719
mov ecx, edi
call fcn.1006181f
test al, al
je 0x100666c5
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
mov ecx, edi
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684bc
mov ecx, ebx
call fcn.10061805
mov ecx, edi
jmp 0x10067da3
mov ecx, ebx
call fcn.1006181f
test al, al
je 0x100666e6
mov ecx, ebx
call fcn.10061800
push eax
lea ecx, [esp + 0x10]
call fcn.100684bc
jmp 0x100660ed
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10061c69
test eax, eax
je 0x1006674c
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10061c53
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp 0x100660ed
cmp esi, 0x11
jne 0x10066750
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10061c69
test eax, eax
je 0x10065e86
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10061c53
push 0x40017e
jmp 0x10066173
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
cmp esi, 0xa
jne case.default.0x10062309
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10061c69
test eax, eax
je 0x10066ede
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.10061c53
push 0x2001d6
jmp 0x10065f4e
mov ecx, dword [ebp + 0xc]
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
or esi, eax
mov ecx, esi
call fcn.10061cdb
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100660ed
cmp esi, 0x11
je 0x10065e86
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
jmp 0x10066ed5
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x1006686c
mov ecx, dword [ebp + 0x14]
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068450
test al, al
je case.0x10062309.93
lea ecx, [esp + 0xc]
call fcn.10061bfc
mov ecx, ebx
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ecx, dword [ebp + 0x14]
jmp 0x10067da3
cmp esi, 0x51
je 0x100665a0
cmp esi, 0x89
jne case.default.0x10062309
lea ecx, [esp + 0xc]
call fcn.10061bfc
jmp 0x1006649a
mov ecx, dword [ebp + 0xc]
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
or esi, eax
mov ecx, esi
call fcn.10061cdb
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x1006684b
cmp esi, 0x89
je 0x1006649a
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
mov ecx, dword [ebp + 0x14]
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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 0x100662d8
jmp 0x100660ed
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066803
cmp esi, 0x51
je 0x100665a0
cmp esi, 0x89
je 0x10066881
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x100668e6
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x1006684b
cmp esi, 0x89
je 0x1006649a
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
cmp esi, 9
je 0x100666b7
jmp 0x10066ed5
mov ecx, dword [ebp + 0xc]
call fcn.10061800
mov ecx, ebx
mov esi, eax
call fcn.10061800
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x10098350]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066476
cmp esi, 0x89
je 0x1006649a
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
cmp esi, 0x4a
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
jmp 0x10066ee5
mov eax, dword [ebx]
xor ecx, ecx
and al, 7
cmp al, 2
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066476
cmp esi, 0x89
je 0x1006649a
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.10061c53
mov ecx, dword [esp + 0x38]
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
lea ecx, [esp + 0xc]
call fcn.10061b9c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100617cb
mov ecx, eax
call fcn.100618c7
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 0x10066abd
mov ecx, edi
call fcn.10061805
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067d9c
cmp esi, 0xd1
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100665b5
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x48]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x48]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066b24
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10066123
cmp esi, 0x11
jmp 0x10066ac3
cmp esi, 0xd1
jne case.0x10062309.146
lea ecx, [esp + 0xc]
call fcn.10061c05
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
jmp 0x10066b9f
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10066b89
mov ecx, ebx
call fcn.10061800
cmp eax, 8
je 0x10066b89
xor eax, eax
jmp 0x10066b8d
mov eax, dword [esp + 0x48]
or dword [esp + 0xc], eax
xor eax, eax
mov edx, dword [ebp + 0x14]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 4
mov ecx, dword [edx + 0xc]
mov byte [esp + 0x30], al
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
je 0x10066b15
cmp esi, 0xd1
jne case.default.0x10062309
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10066eeb
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10061800
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x10098350]
or dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, dword [esp + 0x34]
cmp eax, 0x249
jne 0x10066c31
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
shl eax, 4
and dword [esp + 0x2c], 0
jmp 0x10065f9e
cmp eax, 0x449
jne 0x10066c84
lea ecx, [esp + 0xc]
call fcn.10061bfc
mov ecx, ebx
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061805
shl eax, 4
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x10066eeb
cmp eax, 0x289
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10066c60
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea eax, [ecx + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
and eax, 7
cmp al, 3
jne case.default.0x10062309
call fcn.100617ce
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10061800
mov ecx, edi
mov esi, eax
call fcn.10061800
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10061800
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10061800
or eax, esi
mov ecx, eax
call fcn.10061cdb
push eax
lea ecx, [esp + 0x10]
call fcn.10061c5e
mov ecx, dword [esp + 0x50]
call fcn.100617cb
mov ecx, eax
call fcn.10068437
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 0x10066d87
mov ecx, ebx
call fcn.10061805
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061805
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10061805
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10062309.93
cmp eax, 0x449
jne 0x10066dcb
lea ecx, [esp + 0xc]
call fcn.10061bfc
mov ecx, ebx
call fcn.10061805
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061805
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10066eeb
cmp eax, 0x289
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x10066db6
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10066476
cmp esi, 0x11
je 0x10065e86
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, eax
call fcn.10061d07
push eax
lea ecx, [esp + 0x10]
call fcn.10061c3d
jmp 0x10066ede
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10098350]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10066c31
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
shr eax, 8
test dl, al
jne 0x10066e9f
lea ecx, [esp + 0xc]
call fcn.10061bfc
mov ecx, dword [ebp + 0x18]
call fcn.10061805
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061805
jmp 0x10066c24
mov ecx, dword [ebp + 0x14]
call fcn.10061805
mov ecx, dword [ebp + 0x18]
jmp 0x10066e91
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10062309
mov ecx, edi
call fcn.10061805
mov dword [esp + 0x14], eax
jmp case.0x10062309.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x100662de
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10062309
mov ecx, ebx
call fcn.10061805
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.100617ce
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061888
mov ecx, ebx
movzx eax, byte [eax + 0x10097f48]
mov dword [esp + 0x48], eax
call fcn.100617cb
mov ecx, eax
call fcn.10061b9c
push eax
lea ecx, [esp + 0x20]
call fcn.10061d8a
lea ecx, [esp + 0x1c]
call fcn.100618de
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10061bc0
test dword [esp + 0x48], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10068483
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.1006186a
test al, al
je 0x10066f73
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061878
test al, al
je 0x10066f99
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061893
mov dword [esp + 0x24], eax
jmp 0x10066f9e
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061bad
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10061805
mov edx, dword [esp + 0x24]
mov ecx, edx
push dword [esp + 0x20]
shl esi, 4
and ecx, 0x10
or eax, esi
and edx, 8
mov esi, dword [esp + 0x18]
add eax, eax
or eax, ecx
and esi, 0xf98
shl eax, 0xb
lea ecx, [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x1c]
add esi, esi
and eax, 8
or esi, edx
add esi, esi
or esi, eax
shl esi, 2
call fcn.10061c27
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x38], eax
call fcn.100618de
mov ecx, eax
call fcn.10061988
mov edx, 0x400000
mov ecx, eax
call fcn.10061bc4
mov esi, dword [esp + 0x38]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x38], esi
call fcn.1006198d
mov edx, 0x80000
mov ecx, eax
call fcn.1006198d
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10068450
test al, al
je 0x10067091
mov edx, 0x80000
mov ecx, 0x40000
call fcn.1006198d
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068450
test al, al
jne 0x10067e55
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10061992
or esi, eax
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
call fcn.10061be1
test al, al
je 0x100670cb
test esi, 0x80df8110
jne 0x100670d7
mov edx, 0x400
mov ecx, 0x800
call fcn.1006198d
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068450
test al, al
jne 0x100670cb
or esi, 0x10
mov dword [esp + 0x38], esi
test esi, 0x80df8110
je 0x1006722f
push 4
lea ecx, [esp + 0x10]
call fcn.10061c7a
mov edx, dword [esp + 0x38]
mov esi, eax
mov ecx, edx
and esi, 0x800000
and ecx, 0x8000
shl ecx, 4
or ecx, edx
and edx, 0x100
and ecx, 0xffff78ef
shl ecx, 4
or ecx, edx
shl ecx, 4
or esi, ecx
lea ecx, [esp + 0xc]
push 5
call fcn.10061c7a
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x34], eax
test eax, 0x10000000
je 0x100671e0
mov ecx, dword [esp + 0x44]
call fcn.10061be7
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.100617cb
mov ecx, eax
call fcn.10061bb7
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x100671d9
mov esi, dword [esp + 0x34]
mov ecx, edx
mov eax, esi
mov dword [esp + 0x50], 4
and eax, 0x60000000
mov dword [esp + 0x6c], eax
call fcn.100685a1
lea edx, [esp + 0x50]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
call fcn.10068440
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x38], eax
cmp eax, 0x40000000
ja 0x100671d9
lea edx, [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.10068440
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.10061c53
mov ecx, dword [esp + 0x5c]
call fcn.100685a1
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.10061c5e
jmp 0x10067220
push 0x29
jmp 0x10067b94
push 0x19
lea ecx, [esp + 0x10]
call fcn.10061c7a
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.10061c7a
mov ecx, dword [esp + 0x34]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x10097e18]
lea ecx, [esp + 0x10]
call fcn.10061bf1
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0x20]
call fcn.10068475
jmp 0x100672d9
push 0xd
lea ecx, [esp + 0x10]
call fcn.10061c7a
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.10061c7a
mov ecx, dword [esp + 0x38]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x38]
or esi, eax
call fcn.10061cfb
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.10061c53
test esi, 0x8000807e
je 0x100672b5
push 0x18
lea ecx, [esp + 0x10]
call fcn.10061c72
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x10097ee8]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10068475
jmp 0x100672e6
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068468
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068468
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.10061bcd
test al, al
jne 0x1006799b
mov eax, dword [esp + 0x48]
test al, 0x42
jne 0x10067894
test al, 1
je 0x1006749f
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10061ce6
pop ecx
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.10061bd9
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x100673ba
test al, al
jne 0x100673ba
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x10067364
test ebx, ebx
jne 0x10067364
push esi
jmp 0x100673e9
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061c69
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.1006855d
test al, al
je 0x100673a4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x100673a4
lea eax, [esi + 0x40]
jmp 0x1006744e
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push ebx
jmp 0x10067886
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x100673f7
cmp dword [esp + 0x54], 0
jne 0x100673f7
push esi
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x1006530e
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061c69
mov ecx, eax
mov eax, dword [esp + 0x54]
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.1006855d
test al, al
je 0x1006746e
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x1006746e
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, dword [esp + 0x34]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10068468
jmp 0x1006530e
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x54]
jmp 0x10067886
test al, 0x30
jne 0x100677de
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061b79
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.100619a5
test al, al
je 0x100674f3
cmp esi, 2
je 0x10064613
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061ce6
jmp 0x100677ca
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], esi
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.100619a1
mov ecx, eax
call fcn.1006194c
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x100675fc
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x100675c1
cmp dword [esp + 0x34], esi
je 0x100677a5
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10067605
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x100677a5
cmp dword [esp + 0x54], 0x17e
jne 0x10067799
movzx eax, al
test al, 0x40
je 0x100677a5
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x100677a5
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10068450
test al, al
jne 0x100677a5
push ebx
lea ecx, [esp + 0x20]
call fcn.10061a66
jmp 0x100677a5
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061b9c
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x100675ed
cmp dword [esp + 0x34], esi
je 0x100675e8
cmp dword [esp + 0x44], 0
jne 0x100675ed
xor eax, eax
inc eax
jmp 0x100675ef
xor al, al
cmp ecx, 5
jae 0x100676da
test al, al
jmp 0x100675ff
cmp eax, 2
jne 0x100676da
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.10061a41
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
push 0
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x4c]
pop eax
adc eax, edx
and ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
cmp ecx, 0xffffffff
je 0x100676f7
mov ecx, dword [edi + 0x68]
call fcn.100618de
test eax, eax
jne 0x100676f7
mov ecx, dword [edi + 0x68]
call fcn.100618e1
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x5c]
mov ecx, ebx
adc edi, dword [esp + 0x6c]
add esi, dword [esp + 0x48]
adc edi, dword [esp + 0x38]
add esi, 5
adc edi, 0
call fcn.100617cb
mov ecx, eax
call fcn.100618ac
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.10068414
pop ecx
pop ecx
test al, al
je 0x100676bc
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.10068475
jmp 0x100624a0
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061b82
mov edi, dword [esp + 0x10]
test al, al
jne 0x10064613
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x34], esi
je 0x100677a5
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10067565
push 0x2e
jmp 0x10067b94
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.10069115
test eax, eax
jne 0x100621d2
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, dword [edi + 0x68]
call fcn.100618de
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100619d4
mov ecx, dword [esp + 0x4c]
push 4
push 0
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.100618ed
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10061a41
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061912
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618ac
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.1006856c
jmp 0x1006530e
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10068577
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push dword [esp + 0x24]
jmp 0x10067886
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, edi
call fcn.100619a5
test al, al
jne 0x10067b33
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
test byte [esp + 0x48], 0x10
mov esi, eax
je 0x10067885
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061953
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x10067b92
mov eax, dword [esp + 0x3c]
push 0xfffffffffffffffc
movzx eax, al
pop ecx
sub ecx, eax
lea eax, [edi + 0x68]
push dword [eax]
add esi, ecx
mov dword [esp + 0x48], eax
mov ecx, ebx
mov dword [esp + 0x38], esi
call fcn.10061934
test al, al
je 0x10063be8
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10061a41
mov ecx, ebx
sub esi, eax
call fcn.10061941
add eax, esi
push eax
jmp 0x10067886
push esi
lea ecx, [esp + 0x20]
call fcn.10068475
jmp 0x1006530e
test al, 0x40
jne 0x100678ac
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x100679ab
push 0x2c
jmp 0x10067b94
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
movsx edx, ax
mov eax, dword [esp + 0x48]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x34], edx
mov dword [esp + 0x5c], ecx
je 0x10067970
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 3
jne 0x10067914
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061ba5
test eax, eax
jne 0x10064613
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov al, byte [esi + eax*8 + 0x10098390]
jmp 0x10067924
test al, 2
je 0x1006791e
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x10097e98]
movzx ecx, al
cmp ecx, 0xff
je 0x10064613
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067947
cmp esi, 6
jne 0x1006735e
mov ecx, edx
call fcn.1006855d
lea ecx, [esp + 0x1c]
test al, al
je 0x10067968
lea eax, [esi + 0x40]
push eax
call fcn.10068468
push dword [esp + 0x34]
jmp 0x100673e9
lea eax, [esi + 0x80]
jmp 0x10067983
test al, 0x30
jne 0x10064613
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10068468
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.10068591
jmp 0x1006530e
mov eax, dword [esp + 0x48]
test al, 2
je 0x100624fa
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x10067a95
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x38], eax
call fcn.10061ce6
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.100617cb
mov ecx, eax
call fcn.10061ba5
mov edx, esi
mov ecx, eax
call fcn.10061ce6
mov esi, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x44], ebx
pop ecx
test esi, esi
jne 0x10067a24
cmp dword [esp + 0x18], 5
je 0x10067a24
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
push eax
call fcn.10068468
push ebx
jmp 0x100673e9
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10061c69
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.1006855d
test al, al
je 0x10067a77
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x34]
shl eax, cl
cmp ebx, eax
jne 0x10067a7b
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10068468
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x1006735e
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10068468
push dword [esp + 0x40]
jmp 0x100673ab
test al, 0x30
jne 0x10067ae8
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push 5
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061ba5
mov edx, esi
mov ecx, eax
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
jmp 0x10067882
mov ecx, edi
call fcn.100619a5
test al, al
je 0x10064613
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
push 5
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061ba5
mov edx, esi
mov ecx, eax
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10061948
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.100683d1
test eax, eax
jne 0x10067d6e
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.100618c3
test byte [esp + 0x48], 0x10
mov dword [esp + 0x40], eax
je 0x10067cc8
mov ecx, ebx
call fcn.100617cb
mov ecx, eax
call fcn.10061805
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10061953
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x10067b9a
push 0xc
pop ecx
jmp 0x10067d71
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069115
test eax, eax
jne 0x100621d2
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x44], eax
call fcn.100618de
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.100619d4
mov ecx, dword [esp + 0x4c]
push 4
pop ebx
push ebx
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x50]
push 1
lea ecx, [ecx + 8]
call fcn.100618ed
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
movzx eax, al
push eax
push dword [edi + 0x74]
mov dword [esp + 0x64], eax
call fcn.10061a41
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061912
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, esi
call fcn.1006192c
test al, al
je 0x10067c58
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10061941
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10061928
mov ecx, eax
call fcn.100618de
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10067789
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10061a41
push ebx
push 0
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.100618ed
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x38]
mov ecx, dword [ecx]
push esi
call fcn.100618de
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.10068d38
mov esi, eax
test esi, esi
je 0x10067d6e
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10067cb9
call fcn.100618de
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10061a4a
jmp 0x1006530e
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.10069115
test eax, eax
jne 0x100621d2
mov ecx, dword [edi + 0x68]
call fcn.100618de
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.100618de
mov ecx, dword [esp + 0x4c]
push 4
push 1
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.100618ed
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.10061a41
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10061912
mov ecx, edi
call fcn.100619d4
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], ebx
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + 8]
call fcn.100618e8
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x40]
cdq
push ebx
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
mov dword [ecx + 0x20], eax
adc edx, ebx
mov dword [ecx + 0x24], edx
jmp 0x1006778b
xor ecx, ecx
inc ecx
call fcn.100617cb
jmp 0x100621d2
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10062309
mov ecx, dword [ebp + 0x14]
call fcn.10061805
mov ecx, edi
mov esi, eax
call fcn.10061805
mov edx, esi
mov ecx, eax
call fcn.10061cc4
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061805
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
and eax, 0xf98
push 7
mov esi, dword [edi + 0x4c]
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x1c]
and eax, 0x18
shl esi, 2
or esi, eax
mov eax, ecx
and eax, 0x1000
shl esi, 2
or eax, dword [esp + 0x10]
shr eax, 8
and eax, 0x60001f
pop ebx
and dword [esp + 0x14], ebx
or esi, eax
test ecx, 0x8c0000
je 0x10067e68
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10067e68
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x10067e25
test byte [eax + 4], 0x70
jne 0x10067e55
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x10067e4d
shr edx, 2
test dl, 1
je 0x10067e55
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10067e62
shr edx, 3
test dl, 1
jne 0x10067e5c
push 0x2a
jmp 0x10065d65
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x10067e88
test ecx, esi
jne 0x10067e90
test dword [esp + 0x20], 0xc00
jne 0x10067e88
or esi, 0x10
test ecx, esi
je 0x10067f23
mov eax, dword [esp + 0xc]
mov edx, esi
and edx, 0x8000
mov ecx, eax
and eax, dword [esp + 0x48]
shl edx, 4
or edx, esi
shr ecx, 1
and edx, 0xffff78ef
and ecx, 0x8300000
shl edx, 4
and esi, 0x100
or edx, esi
or ecx, eax
shl edx, 4
shr ecx, 4
or edx, ecx
lea ecx, [esp + 0x1c]
xor edx, 0x87cf062
push edx
call fcn.10068475
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0xc]
mov byte [ecx], al
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
shl cl, 3
and edx, ebx
sub cl, 0x40
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
add cl, dl
mov byte [eax], cl
inc dword [esp + 0x1c]
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061da4
jmp 0x100624b9
mov eax, dword [esp + 0xc]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, dword [esp + 0x48]
and edx, 0x300000
or edx, ecx
mov ecx, esi
and ecx, 0x200000
shr edx, 1
or edx, ecx
mov ecx, dword [esp + 0x20]
and ecx, 0xfffffc00
shr edx, 0xb
shl ecx, 0x15
or edx, ecx
or esi, edx
test esi, 0x8000803e
je 0x10067fa1
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x10097ee8]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10068475
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x18]
shl cl, 3
and eax, ebx
sub cl, 0x40
mov dword [esp + 0x18], eax
add cl, al
mov eax, dword [esp + 0x1c]
jmp 0x10067f03
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068468
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068468
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10068468
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
and eax, ebx
push eax
push 3
pop ecx
mov dword [esp + 0x1c], eax
call fcn.10061ce6
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10068468
jmp 0x10067f09
mov edi, eax
jmp 0x100624fa