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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov edx, dword [ecx + 0x74]
xor al, al
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x18], ecx
sbb ecx, ecx
mov dword [esp + 0x30], eax
and ecx, dword [ebp + 8]
mov byte [esp + 0x24], al
mov dword [esp + 0x4c], ecx
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [ecx*8 + 0x10095630]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
shr eax, 0xe
mov ecx, dword [ecx]
and eax, 0x3ff
and ecx, 7
mov dword [esp + 0x14], edx
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + 0x10094850]
mov dword [esp + 0x44], eax
mov eax, dword [ebx]
and eax, 7
mov dword [esp + 0x54], 0
movlpd qword [esp + 0x28], xmm0
lea ecx, [eax + ecx*8]
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], esi
mov eax, dword [ecx + 0x70]
sub eax, edx
mov edx, dword [esp + 0x24]
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [esp + 0x58], eax
sete al
or ecx, eax
or ecx, dword [edx + 0x24]
or ecx, dword [edx + 0x44]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x10061ef4
cmp dword [edx + 0x2c], 0
jne 0x10061d36
push 0
push 5
mov ecx, edx
call fcn.10070460
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x58], 0
je case.default.0x10061f4f
push 0x10
push edx
lea ecx, [esp + 0x24]
call fcn.10061490
test eax, eax
jne 0x100620a3
mov edx, dword [esp + 0x24]
test byte [edx + 0x10], 1
je 0x10061df5
movups xmm0, xmmword [edi]
mov eax, dword [ebp + 0x14]
mov ecx, dword [edx + 0x4c]
movups xmmword [esp + 0x70], xmm0
push 0
movups xmm0, xmmword [ebx]
push 6
mov dword [esp + 0x70], ecx
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0x18]
movups xmmword [esp + 0x98], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0xb8], xmm0
movups xmm0, xmmword [eax + 0x20]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x48]
mov dword [esp + 0x6c], eax
mov al, byte [edx + 0x38]
mov byte [esp + 0x48], al
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x50]
mov eax, dword [edx + 0x64]
movups xmmword [esp + 0xd4], xmm0
call eax
add esp, 0x14
test eax, eax
jne 0x100620a3
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax*8 + 0x10095630]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x10094850]
mov dword [esp + 0x50], eax
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x10061eaa
mov eax, dword [esp + 0x50]
and ecx, 0x30000
shr eax, 0x10
test al, 1
jne 0x10061e41
test ecx, ecx
jne 0x10061e45
lea eax, [ecx + 0x21]
jmp 0x100620a3
test ecx, ecx
je 0x10061e9f
mov ecx, dword [esp + 0x20]
shr ecx, 0x10
test cl, 1
je 0x10061e66
mov eax, dword [esp + 0x50]
shr eax, 0x11
test al, 1
jne 0x10061e66
mov eax, 0x22
jmp 0x100620a3
mov eax, dword [esp + 0x20]
shr eax, 0x11
test al, 1
je 0x10061e86
mov eax, dword [esp + 0x50]
shr eax, 0x12
test al, 1
jne 0x10061e86
mov eax, 0x23
jmp 0x100620a3
mov eax, dword [esp + 0x1c]
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x10061ea3
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x10061ef4
mov eax, dword [esp + 0x50]
shr eax, 0xe
test al, 1
je 0x10061f56
mov eax, dword [edx + 0x48]
test eax, eax
je 0x10061edb
shr eax, 8
test al, 0xf
jne 0x10061f56
cmp dword [edx + 0x4c], 1
jne 0x10061f56
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shr ecx, 0xf
not cl
and cl, 1
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x18], 0
movzx eax, byte [edx*8 + 0x10095636]
mov ecx, dword [eax*4 + 0x10098c48]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [edx*8 + 0x10095635]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
movzx edx, byte [eax + 4]
mov dword [esp + 0x40], edx
cmp edx, 0xa0
mov edx, dword [esp + 0x24]
ja case.default.0x10061f4f
mov ebx, dword [esp + 0x40]
jmp dword [ebx*4 + 0x100682d4]
mov eax, 0x24
jmp 0x100620a3
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
jmp case.0x10061f4f.63
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10061f4f
lea ecx, [esp + 0x10]
call fcn.10061820
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610e0
mov ecx, eax
call fcn.10068820
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942e8]
lea ecx, [esp + 0x20]
push eax
call fcn.10068870
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
shr edx, 0x15
and eax, 8
or edx, eax
mov eax, dword [esp + 0x14]
shr edx, 2
and eax, 8
or edx, eax
shr edx, 1
cmp edx, 0x80
ja 0x10065e48
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0x10]
test edx, edx
lea ecx, [esp + 0x20]
setne al
and dword [esp + 0x18], 7
add dword [esp + 0x20], eax
and dword [esp + 0x1c], 7
call fcn.100619c0
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 0x1006475b
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061180
mov ecx, dword [esp + 0x24]
movzx eax, al
movzx esi, byte [eax + 0x10094350]
call fcn.10061790
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100688b0
jmp case.0x10061f4f.1
test esi, esi
je case.0x10061f4f.1
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
test eax, eax
je case.0x10061f4f.1
mov eax, 0x1a
mov ecx, dword [esp + 0x24]
push 0
push eax
mov dword [ecx + 0x48], 0
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x50], 0
call fcn.10070460
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x10061f4f.1
cmp esi, 9
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
cmp eax, 2
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
jmp case.0x10061f4f.1
test esi, esi
je case.0x10061f4f.1
cmp esi, 2
jne case.default.0x10061f4f
xor edx, edx
mov ecx, edi
call fcn.100618f0
test al, al
je case.default.0x10061f4f
mov esi, edi
mov ecx, esi
call fcn.100610e0
mov ecx, eax
call fcn.10061210
mov ecx, esi
movzx ebx, byte [eax + 0x10094350]
call fcn.100610e0
mov ecx, eax
call fcn.10061230
test al, al
jne case.default.0x10061f4f
test bl, 2
jne case.default.0x10061f4f
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061990
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061830
mov edi, eax
mov ecx, edi
call fcn.10061960
test al, al
jne 0x10065e48
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10068870
mov ecx, esi
call fcn.100610e0
mov ecx, eax
call fcn.10061750
push eax
lea ecx, [esp + 0x20]
call fcn.10061a20
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10061790
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100688b0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100619c0
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.10061a80
jmp 0x100682a2
mov ebx, dword [ebp + 0x10]
cmp esi, 3
jne 0x10062214
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10068820
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061f4f.1
cmp esi, 0x19
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
mov ecx, ebx
jmp 0x100621f2
mov eax, dword [edi]
and al, 7
cmp al, 1
jne case.0x10061f4f.11
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp case.0x10061f4f.11
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa210]
or eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, 1
je case.0x10061f4f.63
mov ebx, edi
cmp esi, 2
je 0x100622af
jmp case.default.0x10061f4f
mov ebx, dword [ebp + 0x10]
cmp esi, 0x4a
jne case.0x10061f4f.14
mov edx, 2
mov ecx, ebx
call fcn.100616e0
test al, al
je case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100616e0
test al, al
je case.default.0x10061f4f
mov ebx, edi
mov edi, dword [esp + 0x24]
mov ecx, ebx
call fcn.100610f0
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100618a0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061210
mov ecx, ebx
movzx eax, byte [eax + 0x10094350]
mov dword [esp + 0x38], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061750
push eax
lea ecx, [esp + 0x20]
call fcn.10061a20
lea ecx, [esp + 0x1c]
call fcn.100612b0
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10061790
test dword [esp + 0x38], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.100688b0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061990
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061220
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x20]
shr edx, 1
and ecx, 8
and edx, 4
mov dword [esp + 0x54], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x14]
shr edx, 1
and edx, dword [esp + 0x3c]
mov dword [esp + 0x50], edx
call fcn.10061830
mov esi, dword [esp + 0x4c]
or esi, eax
mov ecx, esi
call fcn.10061960
test al, al
jne 0x10065e48
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068870
push dword [esp + 0x10]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.100619c0
jmp 0x10067528
cmp esi, 2
jne case.default.0x10061f4f
mov ebx, edi
mov edi, edx
jmp 0x100622b3
mov ebx, dword [ebp + 0x10]
test esi, esi
je case.0x10061f4f.1
push 0x11f
lea ecx, [esp + 0x14]
call fcn.10061860
mov dword [esp + 0x14], 0
cmp esi, 1
jne 0x1006241e
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 2
jne 0x10062439
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp 0x100622ad
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
cmp esi, 9
jne 0x1006246a
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0xa
jne case.default.0x10061f4f
jmp 0x100622ad
cmp esi, 2
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061210
mov ecx, edi
movzx ebx, byte [eax + 0x10094350]
call fcn.100610e0
mov ecx, eax
call fcn.10061230
test al, al
jne case.default.0x10061f4f
test bl, 2
jne case.default.0x10061f4f
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061990
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061830
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.10061960
test al, al
jne 0x10065e48
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068870
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.100610e0
mov ecx, eax
call fcn.10061750
push eax
lea ecx, [esp + 0x20]
call fcn.10061a20
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10061790
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100688b0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100619c0
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, 3
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.10061a80
jmp 0x100682a2
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x100625d3
mov edx, 2
mov ecx, ebx
call fcn.100616e0
test al, al
je case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100616e0
test al, al
je case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061650
jmp 0x100625bb
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa210]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006262d
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10062696
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, 2
jne 0x10062680
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068890
jmp case.0x10061f4f.63
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068900
jmp case.0x10061f4f.63
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 2
jne 0x100626c6
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068890
jmp 0x100622af
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068900
jmp 0x100622af
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100aa210]
or eax, ecx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065729
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10061f4f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006280f
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne 0x10065069
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne 0x100627dc
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062792
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x100627a1
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100627cd
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x100627dc
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10068860
test al, al
je case.0x10061f4f.63
push 2
lea ecx, [esp + 0x14]
call fcn.100617f0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034fc1
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x1006288e
push 2
lea ecx, [esp + 0x14]
call fcn.100617f0
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne 0x100622af
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006287a
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x100622af
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
jmp 0x100622af
cmp esi, 0xa
jne 0x100628ff
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne 0x100622ad
mov ecx, ebx
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x100628eb
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x100622ad
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
jmp 0x100622ad
push 0x80
lea ecx, [esp + 0x14]
call fcn.10061860
cmp esi, 0x19
jne 0x10062b38
mov ecx, edi
call fcn.10061150
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
cmp eax, 1
jne 0x1006298f
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10062979
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
mov bl, 1
jmp 0x10062a89
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
mov bl, 1
jmp 0x10062a89
cmp eax, 2
jne 0x100629a7
push 0x200000
lea ecx, [esp + 0x14]
call fcn.10061890
jmp 0x10062a3f
cmp eax, 4
jne 0x100629c6
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068920
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10062a3f
cmp eax, 8
jne 0x10062a3f
cmp dword [esp + 0x58], 0x15
jne 0x100629ea
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10068930
add esp, 8
test al, al
je 0x100629ea
mov bl, 1
jmp 0x100629ec
xor bl, bl
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687f0
add esp, 8
test al, al
jne 0x10062a13
test bl, bl
jne 0x10062a26
mov ecx, 0x32
call fcn.100610e0
jmp 0x100620a3
test bl, bl
je 0x10062a31
mov ecx, dword [esp + 0x24]
push 1
call fcn.10061470
test al, al
je 0x10062a31
mov eax, 4
mov dword [esp + 0x44], eax
jmp 0x10062a35
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x14]
call fcn.10068900
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 4
lea ecx, [esp + 0x44]
call fcn.10068850
push dword [esp + 0x2c]
mov bl, al
push dword [esp + 0x2c]
mov byte [esp + 0x38], bl
call fcn.100687c0
add esp, 8
test al, al
je 0x10062a8d
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
mov byte [esp + 0x30], bl
cmp dword [esp + 0x18], 0
jne 0x10062b00
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x10062aa2
cmp bl, 1
je 0x10062b04
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
jne 0x10062b00
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.10061880
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x44], 1
setne cl
shl eax, 3
add ecx, 4
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.10061890
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 4
lea ecx, [esp + 0x44]
call fcn.10068850
mov byte [esp + 0x30], al
jmp case.0x10061f4f.1
mov eax, dword [esp + 0x44]
cmp eax, 1
je 0x10062b27
xor eax, eax
lea ecx, [esp + 0x10]
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
call fcn.100617f0
jmp case.0x10061f4f.63
xor eax, eax
lea ecx, [esp + 0x10]
push eax
call fcn.100617f0
jmp case.0x10061f4f.63
cmp esi, 0x1a
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov dword [esp + 0x50], eax
test eax, eax
je 0x10064f5e
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov esi, eax
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x40]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x50]
mov dword [esp + 0x40], 4
call fcn.10068850
cmp dword [esp + 0x50], 4
mov bl, al
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x30], bl
jne 0x10062ba7
push dword [esp + 0x2c]
push esi
call fcn.10068920
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687c0
add esp, 8
test al, al
je 0x10062bde
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
movzx ebx, bl
mov edx, 1
cmove ebx, edx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x30], bl
xor eax, eax
cmp dword [esp + 0x50], 1
je 0x10062bf4
cmp bl, 1
sete al
lea eax, [eax*2 + 1]
push eax
lea ecx, [esp + 0x14]
call fcn.100617f0
push dword [esp + 0x50]
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp 0x100622ad
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
cmp eax, esi
je case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov edi, dword [esp + 0x24]
jmp 0x1006510e
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
cmp esi, 9
jne 0x10062c81
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, ebx
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0xa
jne 0x10062ca5
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, ebx
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622ad
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
lea ecx, [esp + 0x10]
call fcn.10061750
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x100625c3
cmp esi, 0x1a
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
test eax, eax
je 0x10064f5e
jmp 0x100622ad
cmp esi, 1
je 0x100625c3
mov ebx, edi
cmp esi, 2
je 0x100622af
push 0xe8
lea ecx, [esp + 0x14]
call fcn.10061860
mov dword [esp + 0x14], 0
jmp 0x10063628
mov ebx, dword [ebp + 0x10]
test esi, 0x1c0
je 0x10062d77
mov ecx, dword [ebp + 0x14]
call fcn.10061190
test al, al
je case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
and esi, 0x3f
cmp esi, 9
jne 0x10062e47
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne 0x10065069
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne case.0x10061f4f.63
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10062df8
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x10062e07
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10062e33
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp case.0x10061f4f.63
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
jmp case.0x10061f4f.63
cmp esi, 0xa
jne case.default.0x10061f4f
jmp 0x10062893
cmp esi, 0x4a
jne case.0x10061f4f.14
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10061110
test al, al
je case.default.0x10061f4f
lea ecx, [ebx + 0x10]
call fcn.10061110
jmp 0x100622a5
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068900
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10062f26
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, 1
jne 0x10062eff
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062ee8
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061f4f.63
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10061f4f.63
mov ecx, ebx
call fcn.10061150
cmp eax, 2
jne 0x10062f16
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068890
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp case.0x10061f4f.63
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
test eax, eax
je 0x10064f5e
mov ecx, ebx
call fcn.10061150
cmp eax, 2
jne 0x10062f55
push 0x66
lea ecx, [esp + 0x20]
call fcn.10068890
mov ecx, ebx
call fcn.10061150
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100617f0
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 0x1b
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10068830
mov ecx, ebx
mov di, ax
call fcn.100610e0
mov ecx, eax
call fcn.10068820
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.0x10061f4f.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x1006306f
push 0x6b
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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.100687c0
add esp, 8
test al, al
je 0x10063031
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
je 0x10063054
push 2
lea ecx, [esp + 0x14]
call fcn.10061870
mov ecx, edi
call fcn.10061150
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0xd1
jne 0x10063138
push 0x6b
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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.10061150
cmp eax, 4
jne 0x100630db
push dword [esp + 0x2c]
push esi
call fcn.10068920
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687c0
add esp, 8
test al, al
je 0x10063101
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
je 0x10063128
push 2
lea ecx, [esp + 0x14]
call fcn.10061870
mov ecx, edi
call fcn.10061150
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
cmp esi, 9
jne 0x1006319f
mov ecx, ebx
call fcn.10061150
cmp eax, 1
je 0x100632b3
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne 0x10065069
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x100631e3
mov ecx, ebx
call fcn.10061150
cmp eax, 1
je 0x10063310
mov ecx, edi
call fcn.10061160
push 0x1af
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp 0x100622af
cmp esi, 0x19
jne case.0x10061f4f.13
push 0x6b
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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.10061150
cmp eax, 4
jne 0x10063245
push ebx
push esi
call fcn.10068920
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687c0
add esp, 8
test al, al
je 0x1006326b
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
je 0x1006328e
push 2
lea ecx, [esp + 0x14]
call fcn.10061870
mov ecx, edi
call fcn.10061150
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x30], al
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp case.0x10061f4f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 7
jbe case.0x10061f4f.12
cmp esi, 9
jne 0x1006330b
xor edx, edx
mov ecx, edi
call fcn.100616c0
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.10061640
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x100632f7
cmp dword [esp + 0x18], 4
jmp 0x10062e1b
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x10063326
xor edx, edx
mov ecx, edi
call fcn.100616c0
test al, al
je case.default.0x10061f4f
jmp 0x100622af
cmp esi, 0x49
jne 0x10063365
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, dword [ebp + 0x14]
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x89
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ebx, dword [ebp + 0x14]
jmp 0x100622af
cmp esi, 1
jne 0x100633ef
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, esi
jne case.0x10061f4f.63
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x100632f7
cmp dword [esp + 0x18], 4
jmp 0x10062e1b
cmp esi, 2
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
test eax, eax
je 0x10064f5e
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0x19
jne 0x1006348e
mov ecx, edi
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10068820
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061150
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10061980
add eax, esi
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068950
jmp case.0x10061f4f.1
cmp esi, 9
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
cmp eax, 2
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100617f0
jmp 0x10063478
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061f4f
mov edx, 7
mov ecx, edi
call fcn.100618f0
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
cmp eax, 2
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov ebx, eax
test ebx, ebx
je 0x10064f5e
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.100617f0
push ebx
lea ecx, [esp + 0x14]
call fcn.10068950
jmp 0x1006211c
cmp esi, 1
jne 0x100633ef
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, esi
jne 0x10063583
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062ee8
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061f4f.63
mov ecx, dword [esp + 0x24]
call fcn.10061430
test al, al
je 0x100635a7
mov ecx, dword [esp + 0x38]
call fcn.10061980
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x1006346e
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
jmp case.0x10061f4f.63
cmp esi, 3
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061f4f.1
test byte [esp + 0x20], 0xc0
je 0x1006361e
push 0x10
mov ecx, edx
call fcn.10061470
test al, al
je 0x1006361e
mov ecx, dword [esp + 0x20]
mov edx, 0x40
call fcn.10068860
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x40], al
push dword [esp + 0x40]
call fcn.10068890
mov dword [esp + 0x14], 0
mov ebx, edi
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065e48
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov edi, dword [esp + 0x24]
mov cl, dl
or cl, 0x40
mov dword [esp + 0x4c], edx
mov byte [eax], cl
xor eax, eax
mov ecx, dword [esp + 0x1c]
test edx, edx
setne al
add ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
movzx eax, byte [eax + 7]
mov esi, dword [eax*4 + 0x10098a28]
mov eax, dword [esp + 0x10]
and eax, 0x1f00
mov dword [esp + 0x38], esi
cmp eax, 0x100
sete cl
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
add eax, 5
add ecx, eax
mov eax, dword [ebx]
and al, 7
mov dword [esp + 0x50], ecx
mov ecx, ebx
cmp al, 4
jne 0x1006388d
lea esi, [edi + 0x2c]
mov dword [esp + 0x58], esi
call fcn.100610e0
mov ecx, dword [esi]
push eax
call fcn.100613b0
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x10067e1a
push dword [edi + 0x68]
lea eax, [edi + 0x68]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.10061350
test al, al
je 0x100637c7
mov ecx, ebx
call fcn.10061360
mov esi, eax
mov eax, dword [esp + 0x50]
sub esi, dword [esp + 0x3c]
sub esi, eax
jmp 0x10063939
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x10063789
mov edx, 1
mov ecx, edi
call fcn.100611b0
test al, al
je case.default.0x10061f4f
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.10061430
test al, al
je 0x10063740
mov ecx, edi
call fcn.10061150
cmp eax, 2
je 0x10063757
mov ecx, esi
call fcn.10061440
test al, al
je 0x10063770
mov ecx, edi
call fcn.10061150
cmp eax, 4
jne 0x10063770
mov al, 1
lea ecx, [esp + 0x1c]
push eax
call fcn.100688b0
mov dword [esp + 0x14], 0
jmp 0x10063628
xor al, al
lea ecx, [esp + 0x1c]
push eax
call fcn.100688b0
mov dword [esp + 0x14], 0
jmp 0x10063628
mov ebx, edi
mov dword [esp + 0x14], 0
jmp 0x10063628
cmp esi, 1
je 0x100625c3
mov ebx, edi
cmp esi, 2
je 0x100622af
push 0xe9
lea ecx, [esp + 0x14]
call fcn.10061860
mov dword [esp + 0x14], 0
jmp 0x10063628
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x10063802
cmp dword [esp + 0x10], 0
je 0x100637e8
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10068860
test al, al
je 0x10063802
push ebx
lea ecx, [esp + 0x20]
call fcn.10068890
or ebx, 0xffffffff
mov dword [esp + 0x50], 1
jmp 0x10067efa
cmp dword [esp + 0x10], 0
je 0x10063926
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10068860
test al, al
jne 0x10063926
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100618a0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068870
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068890
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10068870
lea eax, [edi + 0x68]
mov dword [esp + 0x58], esi
mov ebx, 0xfffffffc
mov dword [esp + 0x44], eax
jmp 0x10067ef2
call fcn.10061130
test al, al
je case.default.0x10061f4f
mov ecx, edi
call fcn.10061420
mov ecx, eax
call fcn.10061380
mov ecx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0x40]
mov ecx, edx
and ecx, dword [esp + 0x48]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], eax
cmp ecx, 0xffffffff
je 0x10063a2f
mov esi, ebx
mov ecx, edi
sub esi, dword [esp + 0x50]
mov ebx, eax
sbb ebx, 0
sub esi, edx
sbb ebx, dword [esp + 0x48]
sub esi, dword [esp + 0x3c]
sbb ebx, 0
call fcn.10061450
mov cl, al
call fcn.10061290
test al, al
jne 0x10063935
push ebx
push esi
call fcn.100687f0
add esp, 8
test al, al
jne 0x10063935
mov ecx, dword [esp + 0x58]
call fcn.100618d0
test al, al
jne 0x10063a27
mov ecx, 0x30
call fcn.100610e0
jmp 0x100620a3
mov eax, dword [esp + 0x50]
add eax, 0xfffffffe
add eax, esi
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.100689f0
test al, al
je 0x10063991
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x10063991
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
jne 0x10063991
mov edx, 0x10
lea ecx, [esp + 0x20]
call fcn.10061400
push ebx
lea ecx, [esp + 0x20]
call fcn.10068890
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068890
jmp 0x100682a2
cmp dword [esp + 0x10], 0
je 0x10063926
mov ecx, dword [esp + 0x20]
mov edx, 0x10
call fcn.10068860
test al, al
jne 0x10063926
mov ecx, 0x10
call fcn.100613d0
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10061410
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100618a0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068870
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068890
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10068870
push esi
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x100682a2
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.10069660
test eax, eax
jne 0x100620a3
mov ecx, edi
call fcn.10061480
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.100612b0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ecx
cmp dword [esp + 0x10], 0
je 0x10063b64
mov ecx, edi
call fcn.10061450
mov cl, al
call fcn.100612a0
test al, al
je 0x10063ad4
mov ecx, dword [esp + 0x58]
call fcn.100618d0
test al, al
je 0x10063ad4
cmp dword [esp + 0x4c], 0
jne 0x10063ab4
push 0x40
lea ecx, [esp + 0x20]
call fcn.10068890
push dword [esp + 0x44]
mov ecx, dword [edi + 0x2c]
push ebx
call fcn.100690e0
test eax, eax
jne 0x100620a3
mov eax, dword [esp + 0x54]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x14]
call fcn.100618a0
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10068870
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068890
mov edx, dword [esp + 0x14]
mov ecx, 3
test edx, edx
setne al
movzx eax, al
push eax
push 0
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x20]
push eax
call fcn.10068870
mov ecx, dword [esp + 0x54]
push 4
push 0
lea ecx, [ecx + 8]
call fcn.100612e0
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100615a0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061310
push 0
lea ecx, [esp + 0x20]
call fcn.10068a00
jmp 0x100682a2
push esi
lea ecx, [esp + 0x20]
call fcn.10068890
mov ecx, dword [esp + 0x54]
push 1
push 0
lea ecx, [ecx + 8]
call fcn.100612e0
push 0
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100615a0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061310
push 0
lea ecx, [esp + 0x20]
call fcn.10068890
jmp 0x100682a2
mov ebx, dword [ebp + 0x10]
cmp esi, 2
jne 0x10063c07
mov ecx, edi
mov ebx, edi
call fcn.10061150
mov edi, dword [esp + 0x24]
mov esi, eax
test esi, esi
jne 0x10063bdc
mov ecx, edi
call fcn.10061460
mov esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.100688c0
jmp 0x100622b3
sub esi, 2
cmp esi, 2
je 0x10063bf8
cmp esi, 4
je 0x10063bf8
mov ecx, edi
call fcn.10061460
cmp esi, eax
jne 0x10064385
push esi
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp 0x100622b3
cmp esi, 0x1b
jne case.default.0x10061f4f
mov ecx, edx
call fcn.10061430
test al, al
je case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, ebx
mov esi, eax
call fcn.100610e0
mov ecx, esi
mov edi, eax
call fcn.10061280
test edx, edx
jg 0x10062a04
jl 0x10063c4d
cmp eax, 0xffff
ja 0x10062a04
mov ecx, edi
call fcn.10061280
test edx, edx
jg 0x10062a04
jl 0x10063c67
cmp eax, 0xffffffff
ja 0x10062a04
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, esi
call fcn.10061280
mov ecx, edi
mov esi, eax
call fcn.10061280
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 6
jmp case.0x10061f4f.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10063ef9
mov ecx, edi
call fcn.10061190
mov ecx, edi
test al, al
je 0x10063e7f
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061190
test al, al
je 0x10063ddd
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne case.default.0x10061f4f
cmp esi, 1
jne 0x10063dc0
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10063d55
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x10063d64
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10063d9e
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
push 0x88
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x100627dc
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
lea ecx, [esp + 0x10]
push 0x88
call fcn.10061860
jmp 0x100627dc
push 0x89
lea ecx, [esp + 0x14]
call fcn.10061860
push esi
lea ecx, [esp + 0x14]
call fcn.100688c0
jmp 0x100627dc
mov ecx, ebx
call fcn.10061690
test al, al
je 0x10063e10
push 0x8c
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
dec dword [esp + 0x14]
jmp case.0x10061f4f.63
mov ecx, ebx
call fcn.100616a0
test al, al
je 0x10063e5d
push 0x120
lea ecx, [esp + 0x14]
call fcn.10061860
test byte [esp + 0x14], 8
je case.0x10061f4f.63
mov ecx, dword [esp + 0x24]
call fcn.10061430
test al, al
je case.0x10061f4f.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10068890
and dword [esp + 0x14], 7
jmp case.0x10061f4f.63
mov ecx, ebx
call fcn.100616b0
test al, al
je case.default.0x10061f4f
push 0x121
lea ecx, [esp + 0x14]
call fcn.10061860
jmp case.0x10061f4f.63
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061190
test al, al
je case.default.0x10061f4f
mov ecx, edi
call fcn.10061690
test al, al
je 0x10063ec2
push 0x8e
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, ebx
jmp 0x10063df8
mov ecx, edi
call fcn.100616a0
test al, al
je 0x10063ed7
push 0x122
jmp 0x10063e20
mov ecx, edi
call fcn.100616b0
test al, al
je case.default.0x10061f4f
push 0x123
lea ecx, [esp + 0x14]
call fcn.10061860
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x1006401a
mov ecx, edi
call fcn.10061160
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x34], esi
call fcn.10061690
lea ecx, [esp + 0x10]
test al, al
je 0x10063f46
push 0x8e
call fcn.10061860
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
dec dword [esp + 0x14]
jmp 0x100622af
push 0
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
cmp dword [esp + 0x14], 0
jne 0x10063fb2
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.100611e0
test al, al
jne 0x10063fb2
mov ecx, ebx
call fcn.100610e0
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10061150
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10061ae0
add esp, 0xc
test al, al
je 0x10063fb2
push 0xa0
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x10064400
mov ecx, edi
call fcn.10061150
cmp eax, 1
jne 0x10064007
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10063ff8
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
push 0x8a
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x100622af
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
push 0x8a
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x100622af
cmp esi, 0xa
jne 0x10064141
mov ecx, ebx
call fcn.10061160
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x34], esi
call fcn.10061690
lea ecx, [esp + 0x10]
test al, al
je 0x10064069
push 0x8c
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x100622af
push 0
call fcn.10061860
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
cmp dword [esp + 0x14], 0
jne 0x100640d5
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.100611e0
test al, al
jne 0x100640d5
mov ecx, edi
call fcn.100610e0
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10061150
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.10061ae0
add esp, 0xc
test al, al
je 0x100640d5
push 0xa2
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x10064400
mov ecx, ebx
call fcn.10061150
cmp eax, 1
jne 0x1006412c
mov ecx, ebx
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x1006411d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
push 0x88
lea ecx, [esp + 0x14]
call fcn.100617f0
mov ebx, esi
jmp 0x100622af
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x14]
call fcn.100617f0
mov ebx, esi
jmp 0x100622af
cmp esi, 0x19
jne 0x10064282
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
mov byte [esp + 0x30], al
cmp al, 1
jne 0x100641cd
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x1006418d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x1006419c
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10068820
mov edi, dword [esp + 0x24]
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x1006510e
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
cmp byte [esp + 0x30], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10064222
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
jne 0x10064222
push ebx
push esi
call fcn.10068930
add esp, 8
test al, al
je 0x10064246
mov ecx, dword [esp + 0x24]
push 1
call fcn.10061470
test al, al
je 0x10064246
mov byte [esp + 0x30], 4
push 0xb8
lea ecx, [esp + 0x14]
call fcn.10061860
push dword [esp + 0x30]
lea ecx, [esp + 0x14]
call fcn.10068970
mov edi, dword [esp + 0x24]
jmp 0x1006510e
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.100687f0
add esp, 8
test al, al
je 0x10064222
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.10061860
mov dword [esp + 0x14], 0
mov byte [esp + 0x30], 4
jmp case.0x10061f4f.63
cmp esi, 0x1a
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov dword [esp + 0x48], eax
test eax, eax
je 0x10064f5e
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x14]
call fcn.10061860
push dword [esp + 0x48]
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, ebx
mov dword [esp + 0x14], 0
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x48]
lea edx, [esp + 0x4c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], 4
call fcn.10068850
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x10064394
mov ecx, edi
call fcn.10061160
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061170
test al, al
je case.default.0x10061f4f
cmp dword [esp + 0x14], 0
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.100611e0
test al, al
jne 0x10064385
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061720
cmp eax, 2
jne 0x10064400
mov ecx, 0x2b
call fcn.100610e0
jmp 0x100620a3
cmp esi, 0xa
jne 0x10064446
mov ecx, ebx
call fcn.10061160
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], esi
call fcn.10061860
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061170
test al, al
je case.default.0x10061f4f
cmp dword [esp + 0x14], 0
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.100611e0
test al, al
jne 0x10064385
mov ecx, esi
call fcn.100610e0
mov ecx, eax
call fcn.10061250
mov ecx, dword [esp + 0x24]
mov esi, eax
mov edi, edx
call fcn.10061460
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x30], al
call fcn.100610e0
mov ecx, eax
call fcn.10061750
push eax
lea ecx, [esp + 0x20]
call fcn.10061a20
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10061f4f.1
cmp esi, 0x19
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061630
test al, al
je case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
push 0xb8
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061860
mov ecx, ebx
mov byte [esp + 0x30], 8
call fcn.100610e0
mov ecx, eax
call fcn.10061280
push 8
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10068990
mov edi, dword [esp + 0x24]
jmp 0x1006510e
mov ebx, dword [ebp + 0x10]
xor eax, eax
movzx ecx, byte [edi + 3]
and ecx, 0xf
cmp byte [ebx + 3], 1
setne al
add eax, dword [esp + 0x34]
or eax, dword [ecx*4 + 0x100aa210]
mov dword [esp + 0x10], eax
cmp esi, 9
jne 0x1006262d
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, 1
jne case.0x10061f4f.63
jmp 0x10062ebc
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061630
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689a0
mov ecx, ebx
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, ebx
mov esi, eax
call fcn.100610e0
mov ecx, eax
call fcn.10061180
mov ecx, esi
mov bl, al
call fcn.10061180
cmp al, bl
jne case.default.0x10061f4f
mov ecx, esi
call fcn.100611d0
test al, al
jne case.default.0x10061f4f
mov ecx, esi
call fcn.10061230
test al, al
jne case.default.0x10061f4f
mov ecx, esi
call fcn.10061740
test al, al
je 0x100645a0
mov ecx, esi
call fcn.10061750
cmp eax, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 0xb
jne 0x1006460c
mov ecx, ebx
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
mov ecx, dword [esp + 0x38]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.10061980
add eax, esi
lea ecx, [esp + 0x10]
push eax
call fcn.10061860
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068950
jmp 0x100621f0
cmp esi, 9
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
cmp eax, 2
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
dec eax
lea ecx, [esp + 0x10]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.100617f0
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068950
jmp case.0x10061f4f.1
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
cmp eax, 2
jne case.default.0x10061f4f
lea edx, [eax + 4]
mov ecx, ebx
call fcn.100618f0
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
mov edi, eax
test edi, edi
je 0x10064f5e
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x14]
call fcn.100617f0
push edi
lea ecx, [esp + 0x14]
call fcn.10068950
jmp 0x1006211c
cmp esi, 1
jne 0x10064779
mov ecx, edi
call fcn.10061690
test al, al
je 0x10064820
mov ecx, edi
call fcn.10061160
cmp eax, 7
jae 0x10064811
push dword [eax*4 + 0x10094330]
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942e8]
lea ecx, [esp + 0x20]
push eax
call fcn.10068870
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10065e48
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0x10]
test edx, edx
lea ecx, [esp + 0x20]
setne al
add dword [esp + 0x20], eax
call fcn.100619c0
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061a80
mov edi, dword [esp + 0x24]
jmp 0x100682a2
cmp esi, 3
jne 0x10064868
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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.100687c0
add esp, 8
test al, al
je 0x100647cf
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
mov byte [esp + 0x30], bl
xor eax, eax
cmp bl, 1
sete al
lea eax, [eax*2 + 0x68]
push eax
jmp 0x100646f3
cmp esi, 1
jne 0x10064868
mov ecx, edi
call fcn.10061690
test al, al
je 0x10064820
mov ecx, edi
call fcn.10061160
cmp eax, 2
je 0x10064811
cmp eax, 7
jae 0x10064811
push dword [eax*4 + 0x10094818]
jmp 0x100646f3
mov ecx, 0x31
call fcn.100610e0
jmp 0x100620a3
mov ecx, edi
call fcn.10061150
cmp eax, 2
jb case.default.0x10061f4f
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068950
mov ecx, edi
call fcn.10061160
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x1006510e
cmp esi, 2
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
test eax, eax
je 0x10064f5e
mov ecx, edi
call fcn.10061150
cmp eax, esi
je 0x100648a5
mov ecx, edi
call fcn.10061150
mov ecx, dword [esp + 0x24]
mov esi, eax
call fcn.10061460
cmp esi, eax
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068950
jmp 0x100622ad
test esi, esi
jne 0x100648cf
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp case.0x10061f4f.1
cmp esi, 3
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x10064916
mov ecx, dword [esp + 0x20]
lea edx, [esi + 0x20]
call fcn.10068860
test al, al
jne 0x10064916
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp case.0x10061f4f.1
mov byte [esp + 0x30], 2
jmp case.0x10061f4f.1
mov eax, dword [edi]
mov ecx, edi
mov ebx, dword [ebp + 0x10]
and al, 7
cmp al, 1
jne 0x10064a04
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, 1
jne 0x1006498e
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006497c
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006498a
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x100649b3
mov ecx, ebx
call fcn.10061160
cmp eax, 1
jne case.default.0x10061f4f
push 2
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp case.0x10061f4f.63
cmp esi, 0x19
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], dl
cmp eax, 1
jne 0x100649f4
mov ecx, dword [esp + 0x20]
lea edx, [esi + 7]
call fcn.10068860
test al, al
je case.0x10061f4f.63
push 0x10
lea ecx, [esp + 0x14]
call fcn.10061870
jmp 0x10061fa0
call fcn.10061150
test eax, eax
je 0x10064f5e
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
cmp esi, 0xa
jne 0x10064a47
mov ecx, ebx
call fcn.10061160
cmp eax, 1
jne case.default.0x10061f4f
push 2
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x100622ad
cmp esi, 0x1a
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
movzx eax, al
xor cl, cl
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x30], cl
cmp eax, 1
jne 0x10064a8e
mov ecx, dword [esp + 0x20]
lea edx, [esi + 6]
call fcn.10068860
test al, al
je 0x100622ad
push 0x10
lea ecx, [esp + 0x14]
call fcn.10061870
mov eax, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100622ad
cmp esi, 1
jne case.0x10061f4f.14
mov ecx, edi
call fcn.10061160
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x18], eax
cmp ecx, 0x1000021
je 0x10064aeb
cmp eax, 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp case.0x10061f4f.63
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10061f4f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x10064b4a
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, ebx
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061280
jmp 0x10061f98
cmp esi, 0xca
jne 0x10064b96
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688c0
mov ecx, ebx
call fcn.10061160
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100622af
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
cmp esi, 0x49
jne 0x10064bbe
mov ecx, dword [ebp + 0x14]
call fcn.10061160
cmp eax, 1
jne case.default.0x10061f4f
mov ecx, edi
jmp 0x10062c57
cmp esi, 0x4a
jne case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
call fcn.10061160
cmp eax, 1
jne case.default.0x10061f4f
mov ecx, ebx
jmp 0x10062c86
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, ebx
mov esi, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
test eax, eax
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
xor edx, edx
mov ecx, eax
call fcn.100611b0
test al, al
je case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov edi, eax
call fcn.10061140
test al, al
je 0x10064c3e
mov ecx, ebx
call fcn.10061150
cmp eax, edi
jne 0x10065069
push edi
lea ecx, [esp + 0x14]
call fcn.100688e0
jmp 0x1006211c
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, edi
mov esi, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061270
test eax, eax
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.100610e0
xor edx, edx
mov ecx, eax
call fcn.100611b0
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
mov ecx, edi
mov ebx, eax
call fcn.10061140
test al, al
je 0x10064cac
mov ecx, edi
call fcn.10061150
cmp eax, ebx
jne 0x10065069
push ebx
lea ecx, [esp + 0x14]
call fcn.100688e0
jmp 0x1006211c
mov ebx, dword [ebp + 0x10]
cmp esi, 0x12
jne case.default.0x10061f4f
mov ecx, edi
call fcn.100610e0
mov ecx, eax
call fcn.10061210
mov ecx, ebx
mov esi, eax
call fcn.100610e0
mov ecx, eax
call fcn.10061210
cmp esi, eax
jne case.default.0x10061f4f
mov ecx, edi
mov esi, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061230
test al, al
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
mov ebx, eax
test ebx, ebx
je 0x10064f5e
jmp 0x10064c9d
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10064dc9
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
jne 0x10065069
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne case.0x10061f4f.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064d9f
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x10064dae
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10062e33
jmp 0x10062e16
cmp esi, 0xa
jne 0x10064e15
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne 0x100622ad
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100628eb
jmp 0x100628ce
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
lea ecx, [esp + 0x10]
call fcn.10061750
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10064f4a
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061150
cmp eax, 1
jne 0x10064ebd
mov ecx, edi
call fcn.10061620
lea ecx, [esp + 0x20]
test al, al
jne 0x10064e8d
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10061400
jmp 0x10064e9c
mov edx, Ordinal_2
call fcn.10061400
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10068820
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10064ef7
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], 4
call fcn.10061150
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068850
mov byte [esp + 0x30], al
cmp dword [esp + 0x18], 0
jne case.0x10061f4f.63
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
jne case.0x10061f4f.63
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, edi
call fcn.10061150
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x14]
call fcn.10061890
jmp case.0x10061f4f.1
cmp esi, 0x1a
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
test eax, eax
jne 0x10064f68
mov eax, 0x34
jmp 0x100620a3
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], 4
call fcn.10061150
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068850
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x10061f4f.61
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.100688e0
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
cmp eax, 1
jne 0x100622af
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006501c
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp 0x100622af
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100651a4
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
cmp esi, eax
je 0x10065073
mov eax, 0x35
jmp 0x100620a3
cmp esi, 1
je 0x10064d73
cmp dword [esp + 0x58], 0x668
jne 0x10065195
cmp dword [esp + 0x14], 0
je 0x1006509c
cmp dword [esp + 0x18], 0
jne 0x10065195
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10061440
test al, al
je 0x100650ca
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x100650ca
cmp esi, 4
jb 0x100650ca
cmp esi, 8
jne 0x10065195
push 0x8000000
jmp 0x100650f7
mov ecx, dword [esp + 0x20]
mov edx, 0x20
call fcn.10068860
test al, al
jne 0x10065195
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
add dword [esp + 0x14], eax
push esi
call fcn.100688e0
push 0x8200000
lea ecx, [esp + 0x14]
call fcn.10061880
push 0x90
lea ecx, [esp + 0x14]
call fcn.10061890
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10061990
push dword [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.10061830
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10061960
test al, al
jne 0x10065e48
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10068870
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.100617f0
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.100619c0
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061a80
jmp 0x100682a2
push esi
lea ecx, [esp + 0x14]
call fcn.100688e0
jmp case.0x10061f4f.63
cmp esi, 0xa
jne case.default.0x10061f4f
jmp 0x10064dce
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006520b
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068860
test al, al
je case.0x10061f4f.63
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034fc1
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x10065220
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, ebx
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x100652f5
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x1006531a
test ecx, ecx
jne case.default.0x10061f4f
push 0xff
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.100618a0
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, dword [esp + 0x10]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x100942e8]
lea ecx, [esp + 0x20]
push eax
call fcn.10068870
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0x10]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], cl
inc dword [esp + 0x1c]
jmp 0x100682a2
cmp esi, 2
je 0x1006533d
jmp case.default.0x10061f4f
test esi, esi
jne 0x10065308
lea ecx, [esi + 1]
jmp 0x10065316
cmp esi, 1
jne 0x10065334
mov ecx, edi
call fcn.10061160
mov ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x10]
shr eax, 0xa
movzx eax, al
add eax, 0x36000
add eax, ecx
mov dword [esp + 0x10], eax
jmp case.0x10061f4f.65
cmp esi, 2
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
xor ecx, ecx
cmp eax, 4
setne cl
lea ecx, [ecx*4 + 0xd8]
push ecx
lea ecx, [esp + 0x14]
call fcn.10061860
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.10061880
jmp 0x100622ad
cmp esi, 2
jne 0x10065414
mov ecx, edi
mov ebx, edi
call fcn.10061150
mov esi, dword [esp + 0x44]
cmp eax, 4
jne 0x1006539f
push 0x1000
mov ecx, esi
call fcn.100617b0
test al, al
jne 0x100622af
mov ecx, edi
call fcn.10061150
cmp eax, 8
jne 0x100653cb
push 0x2000
mov ecx, esi
call fcn.100617b0
test al, al
je 0x100653cb
push 4
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x100622af
mov ecx, edi
call fcn.10061150
cmp eax, 0xa
jne case.default.0x10061f4f
push 0x800
mov ecx, esi
call fcn.100617b0
test al, al
je case.default.0x10061f4f
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
lea ecx, [esp + 0x10]
call fcn.10061750
mov dword [esp + 0x14], eax
jmp 0x100622af
cmp esi, 1
jne case.default.0x10061f4f
mov eax, dword [esp + 0x58]
cmp eax, 0xce
jne 0x10065439
mov ecx, edi
call fcn.10061160
add eax, 0x364c0
jmp 0x100652a0
cmp eax, 0xec
jne 0x10065451
mov ecx, edi
call fcn.10061160
add eax, 0x374d0
jmp 0x100652a0
cmp eax, 0xef
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
add eax, 0x374d8
jmp 0x100652a0
cmp esi, 2
jne case.default.0x10061f4f
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, edi
mov ebx, edi
call fcn.10061150
mov esi, dword [esp + 0x44]
cmp eax, 2
jne 0x100654b6
push 0x800
mov ecx, esi
call fcn.100617b0
test al, al
je 0x100654b6
push 4
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x100622af
mov ecx, edi
call fcn.10061150
cmp eax, 4
jne 0x100654d6
push 0x1000
mov ecx, esi
call fcn.100617b0
test al, al
jne 0x100622af
mov ecx, edi
call fcn.10061150
cmp eax, 8
jne case.default.0x10061f4f
push 0x2000
mov ecx, esi
call fcn.100617b0
test al, al
je case.default.0x10061f4f
mov ecx, dword [esp + 0x38]
call fcn.10061980
and eax, 0xffff1fff
lea ecx, [esp + 0x10]
push eax
call fcn.10061860
lea ecx, [esp + 0x10]
call fcn.10061750
mov dword [esp + 0x14], eax
jmp 0x100622af
test esi, esi
jne case.0x10061f4f.70
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp case.0x10061f4f.65
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
push eax
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp case.0x10061f4f.65
cmp esi, 1
jne 0x10065579
mov ecx, edi
call fcn.10061160
test eax, eax
jne case.default.0x10061f4f
mov ecx, dword [esp + 0x38]
call fcn.10061980
jmp 0x100652a0
cmp esi, 2
jne case.default.0x10061f4f
push 0xffff1fff
lea ecx, [esp + 0x14]
call fcn.10061880
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x100655eb
mov ecx, ebx
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0xca
jne case.default.0x10061f4f
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, ebx
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x28], eax
mov ecx, ebx
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x1006568d
mov ecx, ebx
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp 0x10062c66
cmp esi, 0xca
jne case.default.0x10061f4f
jmp 0x10065608
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065703
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068860
test al, al
je case.0x10061f4f.63
mov eax, dword [esp + 0x38]
cmp byte [eax + 7], 0
je case.0x10061f4f.63
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034fc1
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x10065718
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622ad
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne 0x1006575f
mov ecx, edi
call fcn.10061150
cmp eax, 1
je case.default.0x10061f4f
jmp 0x10063caa
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
cmp eax, 1
je case.default.0x10061f4f
mov ecx, ebx
jmp 0x10062c86
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065855
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10061670
test al, al
je 0x100657f3
mov ecx, ebx
call fcn.10061670
test al, al
je 0x100657f3
push 0x16f
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068860
test al, al
je case.0x10061f4f.63
push 0x10
jmp 0x100627f4
mov ecx, edi
call fcn.10061660
test al, al
je 0x100658ed
mov ecx, ebx
call fcn.10061660
test al, al
je 0x100658ed
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068860
test al, al
je case.0x10061f4f.63
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.10061860
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034fc1
jmp case.0x10061f4f.63
cmp esi, 0x11
jne 0x100658a1
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061670
test al, al
je 0x10065883
push 0x16f
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x100622af
mov ecx, edi
call fcn.10061660
test al, al
je 0x100658ed
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x100622af
cmp esi, 0xa
jne 0x100658ed
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061670
test al, al
je 0x100658cf
push 0x17f
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x100622ad
mov ecx, ebx
call fcn.10061660
test al, al
je 0x100658ed
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x100622ad
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.10061890
mov eax, dword [edi + 4]
xor ecx, ecx
mov ebx, dword [ebp + 0x10]
mov edx, 0x200000
mov dword [esp + 0x14], eax
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x10000161
cmove ecx, edx
or dword [esp + 0x10], ecx
cmp esi, 9
jne 0x1006593f
mov ecx, ebx
call fcn.10061190
test al, al
je 0x10065948
mov ecx, ebx
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
je 0x100622af
push 0x8000000
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, ebx
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
cmp esi, 9
jne 0x1006246a
mov ecx, edi
call fcn.10061190
jmp 0x100625bb
mov ecx, dword [ebp + 0x14]
call fcn.10061100
test al, al
jne 0x100659bb
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.10061700
test al, al
je case.default.0x10061f4f
and esi, 0x3f
jmp case.0x10061f4f.73
mov ecx, dword [ebp + 0x14]
call fcn.10061100
test al, al
jne 0x100659bb
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.100618f0
test al, al
je case.default.0x10061f4f
and esi, 0x3f
jmp case.0x10061f4f.73
mov ecx, dword [ebp + 0x10]
call fcn.10061150
cmp eax, 8
lea ecx, [esp + 0x10]
sete al
movzx eax, al
push eax
call fcn.100689a0
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x8000000
cmp eax, 0x8000039
cmove ecx, edx
or dword [esp + 0x10], ecx
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065a36
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
jne case.default.0x10061f4f
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065a92
mov ecx, edi
call fcn.10061660
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061660
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100689c0
mov ecx, edi
call fcn.10061160
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065ae2
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
je 0x10063cbb
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
lea ecx, [esp + 0x10]
call fcn.10061750
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065b84
mov ecx, edi
call fcn.10061660
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061660
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100689c0
mov ecx, edi
call fcn.10061160
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
je 0x10065a9b
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
lea ecx, [esp + 0x10]
call fcn.10061750
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
jmp 0x10065b12
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
or ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065c15
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0xd1
jmp 0x10062630
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x10065c87
mov ecx, edi
call fcn.10061660
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061660
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100689c0
mov ecx, edi
call fcn.10061160
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0xd1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061660
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689b0
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp 0x100622af
mov ecx, edi
call fcn.10061160
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10061f4f.63
cmp esi, 0xd9
jne case.default.0x10061f4f
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10061750
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100610e0
mov ecx, eax
call fcn.10068820
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.100610e0
mov ecx, eax
call fcn.10068820
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.0x10061f4f.63
mov ecx, dword [ebp + 0x18]
call fcn.100610f0
shl eax, 9
mov ecx, edi
add eax, esi
mov dword [esp + 0x4c], eax
call fcn.10061160
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
cmp eax, 9
je case.0x10061f4f.63
cmp eax, 0x6c9
jne case.default.0x10061f4f
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, dword [ebp + 0x18]
call fcn.100610e0
mov ecx, eax
call fcn.10068820
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.100610e0
mov ecx, eax
call fcn.10068820
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.0x10061f4f.63
movzx eax, cl
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], eax
mov al, 1
push 0x10f
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], eax
mov byte [esp + 0x34], al
call fcn.10061860
mov ecx, edi
call fcn.10061160
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
cmp esi, 9
jne 0x10065e3a
mov ecx, ebx
call fcn.10061160
mov dword [esp + 0x18], eax
jmp case.0x10061f4f.63
cmp esi, 0x11
jne case.default.0x10061f4f
jmp 0x100622af
mov eax, 0x25
jmp 0x100620a3
mov esi, ecx
mov eax, ecx
shr esi, 6
and eax, 0x600000
and esi, 0x1800000
and ecx, 0x1f00
or esi, eax
mov eax, dword [esp + 0x20]
shr esi, 5
or esi, ecx
shr eax, 0xa
shr esi, 8
test al, 1
je 0x10065ea7
push 0x18
lea ecx, [esp + 0x14]
call fcn.100618b0
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.100688a0
mov edi, dword [esp + 0x24]
jmp 0x100682a2
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068890
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068890
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068890
mov edi, dword [esp + 0x24]
jmp 0x100682a2
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10065f7d
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10061190
test al, al
je 0x10065f26
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
jmp case.0x10061f4f.93
mov ecx, edi
call fcn.10061190
test al, al
je 0x10065f4a
mov ecx, dword [esp + 0x38]
call fcn.10061980
inc eax
lea ecx, [esp + 0x10]
push eax
call fcn.10061860
jmp case.0x10061f4f.93
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10068860
test al, al
je case.0x10061f4f.93
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10034fc1
jmp case.0x10061f4f.93
cmp esi, 0x11
jne 0x10065f8e
mov ecx, edi
call fcn.10061160
jmp 0x100670f7
cmp esi, 0xa
jne case.default.0x10061f4f
push 1
lea ecx, [esp + 0x14]
call fcn.100617f0
jmp 0x100670ee
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061630
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689a0
jmp case.0x10061f4f.93
cmp esi, 2
jne case.default.0x10061f4f
mov ebx, edi
jmp 0x100670fb
mov ecx, edi
call fcn.10061150
mov ebx, dword [ebp + 0x10]
mov esi, eax
mov ecx, ebx
call fcn.10061150
or esi, eax
mov ecx, esi
call fcn.10061940
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov eax, dword [esp + 0x48]
cmp eax, 9
jne 0x10066028
mov ecx, ebx
call fcn.10061160
mov ecx, edi
jmp 0x1006803d
cmp eax, 0xa
jmp 0x100670e8
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061150
mov ecx, eax
call fcn.10061940
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.10061930
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068840
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
jmp 0x100670ee
mov ebx, dword [ebp + 0x10]
cmp esi, 0xc9
jne 0x100660c5
push 0x2001c5
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061160
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061280
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x30], 1
jmp case.0x10061f4f.93
mov edx, dword [ebp + 0x14]
xor eax, eax
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xca
jmp 0x100670e8
mov ecx, edi
call fcn.10061150
mov ecx, dword [ebp + 0x10]
mov esi, eax
call fcn.10061150
or esi, eax
mov ecx, esi
call fcn.10061940
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x100660e2
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x10068046
mov ecx, dword [ebp + 0x14]
call fcn.10061100
test al, al
jne 0x1006616d
mov ecx, dword [ebp + 0x14]
mov edx, 7
call fcn.100618f0
test al, al
je case.default.0x10061f4f
and esi, 0x3f
jmp case.0x10061f4f.103
mov ecx, edi
call fcn.10061630
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10061630
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100689d0
jmp case.0x10061f4f.103
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
call fcn.10061150
test eax, eax
je 0x100661c8
mov ecx, ebx
call fcn.10061150
mov ecx, eax
call fcn.10061940
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
jmp case.0x10061f4f.103
mov ecx, edi
call fcn.10061150
cmp eax, 0x20
jne case.0x10061f4f.103
push 0x40000000
lea ecx, [esp + 0x14]
call fcn.10061890
jmp case.0x10061f4f.103
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne case.0x10061f4f.106
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061190
test al, al
je case.0x10061f4f.106
mov ecx, edi
call fcn.10061150
mov ecx, ebx
mov esi, eax
call fcn.10061150
or esi, eax
mov ecx, esi
call fcn.10061940
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.10061980
or esi, eax
lea ecx, [esp + 0x10]
push esi
call fcn.10061860
mov ecx, edi
call fcn.10061160
jmp 0x1006803b
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10066270
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10068046
cmp esi, 0x11
jne case.default.0x10061f4f
mov eax, dword [edi + 4]
jmp 0x100670f7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov ecx, eax
call fcn.10061940
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10061930
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068840
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, edi
call fcn.10061160
jmp 0x100670f7
mov eax, dword [ebp + 0x18]
lea ecx, [eax + 0x10]
mov dword [esp + 0x48], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x34], esi
call fcn.100611a0
mov ebx, dword [ebp + 0x10]
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.100611a0
test al, al
je case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
call fcn.100611a0
test al, al
je case.default.0x10061f4f
mov ecx, dword [ebp + 0x18]
call fcn.100611a0
test al, al
je case.default.0x10061f4f
mov ecx, dword [esp + 0x48]
call fcn.100611a0
test al, al
je case.default.0x10061f4f
mov ecx, esi
call fcn.10061120
test al, al
je case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10061160
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10061160
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
call fcn.10061160
mov edx, eax
test bl, 3
jne 0x1006639e
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x1006639e
lea ecx, [ebx + 2]
cmp dword [esp + 0x4c], ecx
jne 0x1006639e
lea eax, [ebx + 3]
cmp edx, eax
jne 0x1006639e
mov ecx, edi
call fcn.10061160
mov edx, ebx
mov ecx, eax
call fcn.10061920
mov ebx, dword [esp + 0x34]
jmp 0x100670f7
mov ecx, 0x3c
call fcn.100610e0
jmp 0x100620a3
mov eax, dword [edi]
xor edx, edx
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
mov ecx, 0x8000000
cmove edx, ecx
xor ecx, ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or edx, ecx
or edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
jmp case.0x10061f4f.111
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp esi, 0xc9
jne 0x1006643e
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10068046
cmp esi, 0xd1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
jmp 0x100670f7
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10061f4f.115
mov edx, 2
mov ecx, eax
call fcn.100611b0
test al, al
je case.default.0x10061f4f
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x8000000
cmp eax, 0x8000039
mov dword [esp + 0x4c], edx
cmove ecx, edx
mov edx, dword [ebp + 0x14]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x4c]
or ecx, eax
or dword [esp + 0x10], ecx
jmp 0x100664de
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
mov edx, 0x1000
cmp eax, 0x289
cmove ecx, edx
or dword [esp + 0x34], ecx
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100666ad
cmp esi, 0x89
jne case.default.0x10061f4f
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x100670f7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
test al, 1
jne 0x1006658f
mov ecx, edi
call fcn.10061160
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10061160
cmp esi, eax
jne 0x1006658f
mov ecx, dword [ebp + 0x14]
call fcn.10061150
mov ecx, eax
call fcn.10061940
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, dword [ebp + 0x14]
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061110
mov ecx, ebx
test al, al
jne 0x10068041
call fcn.10061120
test al, al
je case.default.0x10061f4f
jmp 0x100670fb
mov ecx, 0x1d
call fcn.100610e0
jmp 0x100620a3
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x2c], 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and ecx, 7
shl eax, 4
shl ecx, 9
add ecx, esi
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
cmp ecx, 0x249
jne 0x10066602
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x14]
shl eax, 7
add eax, dword [edi + 4]
jmp 0x1006803d
cmp ecx, 0x289
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ebx, dword [ebp + 0x14]
jmp 0x100670f7
mov ecx, edi
call fcn.10061680
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689e0
jmp case.0x10061f4f.122
mov ecx, edi
call fcn.10061680
movzx eax, al
lea ecx, [esp + 0x10]
push eax
call fcn.100689e0
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or dword [esp + 0x10], eax
mov edx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [edx + 0xc]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], eax
xor eax, eax
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x4c]
cmp eax, 0x649
jne 0x100666c5
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 0x10068046
cmp eax, 0x689
jmp 0x10066608
mov ecx, edi
call fcn.10061630
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10061630
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100689d0
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x10068021
cmp esi, 0x51
jne case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
jmp 0x100670f7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.0x10061f4f.128
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x1006628d
mov ebx, dword [ebp + 0x10]
cmp esi, 0x51
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061150
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061150
or esi, eax
mov ecx, esi
call fcn.10061940
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10061930
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.10068840
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
jmp 0x10066707
mov ecx, dword [ebp + 0x18]
call fcn.100610f0
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
shl eax, 9
add eax, esi
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x18]
or ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x10068021
cmp eax, 0x651
jmp 0x10066701
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x1006688a
mov ecx, edi
call fcn.10061190
test al, al
je 0x10066828
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
mov ecx, edi
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068900
mov ecx, ebx
call fcn.10061160
mov ecx, edi
jmp 0x1006803d
mov ecx, ebx
call fcn.10061190
test al, al
je 0x10066850
mov ecx, ebx
call fcn.10061150
push eax
lea ecx, [esp + 0x14]
call fcn.10068900
mov ecx, edi
call fcn.10061160
jmp 0x1006803b
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100618a0
test eax, eax
je 0x100668cd
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.10061880
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, edi
call fcn.10061160
jmp 0x1006803b
cmp esi, 0x11
jne 0x100668d1
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100618a0
test eax, eax
je 0x100662c1
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.10061880
push 0x40017e
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, edi
call fcn.10061160
jmp 0x100670f7
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
cmp esi, 0xa
jne case.default.0x10061f4f
push 0x10000000
lea ecx, [esp + 0x14]
call fcn.100618a0
test eax, eax
je 0x100670ee
push 0xff9fe000
lea ecx, [esp + 0x14]
call fcn.10061880
push 0x2001d6
lea ecx, [esp + 0x14]
call fcn.10061890
jmp 0x100670ee
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10066958
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10068046
cmp esi, 0x11
je 0x100662c1
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
jmp 0x100670e5
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne 0x100669f8
mov ecx, dword [ebp + 0x14]
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10068860
test al, al
je case.0x10061f4f.93
lea ecx, [esp + 0x10]
call fcn.10061800
mov ecx, ebx
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ecx, dword [ebp + 0x14]
jmp 0x1006803d
cmp esi, 0x51
je 0x10066707
cmp esi, 0x89
jne case.default.0x10061f4f
lea ecx, [esp + 0x10]
call fcn.10061800
jmp 0x1006660e
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100666ad
cmp esi, 0x89
je 0x1006660e
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, dword [ebp + 0x14]
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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 0x10066aa8
mov ecx, edi
call fcn.10061160
jmp 0x1006803b
cmp esi, 0xd1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
jmp 0x100670f7
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x1006698f
cmp esi, 0x51
je 0x10066707
cmp esi, 0x89
jne 0x10066aeb
lea ecx, [esp + 0x10]
call fcn.10061800
jmp 0x1006660e
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x10066a73
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100669d7
cmp esi, 0x89
je 0x1006660e
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
cmp esi, 9
jne 0x100670e5
mov ecx, ebx
call fcn.10061160
mov ecx, edi
jmp 0x1006803d
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100666ad
cmp esi, 0x89
je 0x1006660e
push 0x60000000
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
cmp esi, 0x4a
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
jmp 0x100670f5
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
mov edx, 0x1000
mov eax, dword [ebx]
and al, 7
cmp al, 2
cmove ecx, edx
or dword [esp + 0x34], ecx
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100666ad
cmp esi, 0x89
je 0x1006660e
push 0x60001000
lea ecx, [esp + 0x14]
call fcn.10061880
mov ecx, dword [esp + 0x38]
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
lea ecx, [esp + 0x10]
call fcn.10061750
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061280
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 0x10066c78
mov ecx, edi
call fcn.10061160
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10068036
cmp esi, 0xd1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.10061920
jmp 0x100670f7
mov eax, dword [edi]
xor edx, edx
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
mov ecx, 0x8000000
cmove edx, ecx
xor ecx, ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or edx, ecx
or edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov ebx, dword [ebp + 0x10]
cmp esi, 9
jne 0x10066cee
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10068046
cmp esi, 0x11
jmp 0x10066c7e
cmp esi, 0xd1
jne case.0x10061f4f.146
lea ecx, [esp + 0x10]
call fcn.10061810
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or dword [esp + 0x10], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
jmp 0x10066d6a
mov eax, dword [edi]
mov ebx, dword [ebp + 0x10]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10066d53
mov ecx, ebx
call fcn.10061150
cmp eax, 8
je 0x10066d53
xor eax, eax
jmp 0x10066d58
mov eax, 0x8000000
or dword [esp + 0x10], eax
xor eax, eax
mov edx, dword [ebp + 0x14]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 4
mov ecx, dword [edx + 0xc]
mov byte [esp + 0x30], al
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
jne 0x10066d93
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10068046
cmp esi, 0xd1
jne case.default.0x10061f4f
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100670fb
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10066e17
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
shl eax, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov byte [esp + 0x30], 1
jmp case.0x10061f4f.93
cmp eax, 0x449
jne 0x10066e6d
lea ecx, [esp + 0x10]
call fcn.10061800
mov ecx, ebx
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10061160
shl eax, 4
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], eax
mov byte [esp + 0x30], al
jmp 0x100670fb
cmp eax, 0x289
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10066e46
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
lea eax, [ecx + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [eax]
and eax, 7
cmp al, 3
jne case.default.0x10061f4f
call fcn.100610f0
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x40], eax
call fcn.10061150
mov ecx, edi
mov esi, eax
call fcn.10061150
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10061150
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10061150
or eax, esi
mov ecx, eax
call fcn.10061940
push eax
lea ecx, [esp + 0x14]
call fcn.10061890
mov ecx, dword [esp + 0x4c]
call fcn.100610e0
mov ecx, eax
call fcn.10068820
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 0x10066f70
mov ecx, ebx
call fcn.10061160
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061160
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10061160
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10061f4f.93
cmp eax, 0x449
jne 0x10066fb4
lea ecx, [esp + 0x10]
call fcn.10061800
mov ecx, ebx
call fcn.10061160
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10061160
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x100670fb
cmp eax, 0x289
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ecx, dword [ebp + 0x18]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10061160
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x100670fb
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
je 0x100666ad
cmp esi, 0x11
je 0x100662c1
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, eax
call fcn.10061980
push eax
lea ecx, [esp + 0x14]
call fcn.10061860
jmp 0x100670ee
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [edi + 3]
movzx eax, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x10094758]
or eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10066e17
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
shr eax, 8
test al, 1
jne 0x1006709b
lea ecx, [esp + 0x10]
call fcn.10061800
mov ecx, dword [ebp + 0x18]
call fcn.10061160
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10061160
jmp 0x10066dfe
mov ecx, dword [ebp + 0x14]
call fcn.10061160
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10061160
jmp 0x10066dfe
cmp esi, 1
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
mov dword [esp + 0x14], eax
jmp case.0x10061f4f.93
mov ebx, dword [ebp + 0x10]
cmp esi, 0x11
jne case.default.0x10061f4f
mov ecx, edi
call fcn.10061160
jmp 0x100670f7
mov ebx, dword [ebp + 0x10]
cmp esi, 0xa
jne case.default.0x10061f4f
mov ecx, ebx
call fcn.10061160
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.100610f0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061210
mov ecx, ebx
movzx eax, byte [eax + 0x10094350]
mov dword [esp + 0x38], eax
call fcn.100610e0
mov ecx, eax
call fcn.10061750
push eax
lea ecx, [esp + 0x20]
call fcn.10061a20
lea ecx, [esp + 0x1c]
call fcn.100612b0
mov edi, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x40], eax
call fcn.10061790
test dword [esp + 0x38], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.100688b0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.100611f0
test al, al
je 0x10067183
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061200
test al, al
je 0x100671a9
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061220
mov dword [esp + 0x50], eax
jmp 0x100671b1
mov dword [esp + 0x50], 0
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061770
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10061160
mov edx, dword [esp + 0x50]
mov ecx, edx
push dword [esp + 0x20]
shl esi, 4
and ecx, 0x10
or eax, esi
and edx, 8
mov esi, dword [esp + 0x18]
add eax, eax
or eax, ecx
and esi, 0xf98
shl eax, 0xb
lea ecx, [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x1c]
add esi, esi
and eax, 8
or esi, edx
add esi, esi
or esi, eax
shl esi, 2
call fcn.10061840
mov ecx, dword [esp + 0x44]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x34], eax
call fcn.100612b0
mov ecx, eax
call fcn.100613d0
mov edx, 0x400000
mov ecx, eax
call fcn.100617a0
mov esi, dword [esp + 0x34]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x34], esi
call fcn.100613e0
mov edx, 0x80000
mov ecx, eax
call fcn.100613e0
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10068860
test al, al
je 0x100672a4
mov edx, 0x80000
mov ecx, 0x40000
call fcn.100613e0
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068860
test al, al
jne 0x100680ed
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.100613f0
or esi, eax
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x44]
call fcn.100617d0
test al, al
je 0x100672de
test esi, 0x80df8110
jne 0x100672ea
mov edx, 0x400
mov ecx, 0x800
call fcn.100613e0
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10068860
test al, al
jne 0x100672de
or esi, 0x10
mov dword [esp + 0x34], esi
test esi, 0x80df8110
je 0x1006745b
push 4
lea ecx, [esp + 0x14]
call fcn.100618c0
mov edx, dword [esp + 0x34]
mov esi, eax
mov ecx, edx
and esi, 0x800000
and ecx, 0x8000
shl ecx, 4
or ecx, edx
and edx, 0x100
and ecx, 0xffff78ef
shl ecx, 4
or ecx, edx
shl ecx, 4
or esi, ecx
lea ecx, [esp + 0x10]
push 5
call fcn.100618c0
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x48], eax
test eax, 0x10000000
je 0x1006740c
mov ecx, dword [esp + 0x44]
call fcn.100617e0
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.100610e0
mov ecx, eax
call fcn.10061780
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x100673fd
mov esi, dword [esp + 0x48]
mov ecx, edx
mov eax, esi
mov dword [esp + 0x4c], 4
and eax, 0x60000000
mov dword [esp + 0x6c], eax
call fcn.10068a50
lea edx, [esp + 0x4c]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x48]
call fcn.10068840
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0x34], eax
cmp eax, 0x40000000
ja 0x100673fd
lea edx, [esp + 0x34]
lea ecx, [esp + 0x6c]
call fcn.10068840
and esi, 0x9fffffff
lea ecx, [esp + 0x10]
push 0xffff1fff
or esi, eax
call fcn.10061880
mov ecx, dword [esp + 0x5c]
call fcn.10068a50
shl eax, 0xd
lea ecx, [esp + 0x10]
push eax
call fcn.10061890
push esi
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x10067505
mov ecx, 0x29
call fcn.100610e0
jmp 0x100620a3
push 0x19
lea ecx, [esp + 0x14]
call fcn.100618c0
mov esi, eax
lea ecx, [esp + 0x10]
push 0xd
and esi, 4
call fcn.100618c0
mov ecx, dword [esp + 0x48]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x10094220]
lea ecx, [esp + 0x14]
call fcn.100617f0
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push esi
call fcn.100688a0
jmp 0x10067505
push 0xd
lea ecx, [esp + 0x14]
call fcn.100618c0
mov esi, eax
lea ecx, [esp + 0x10]
push 0xc
and esi, 0x300
call fcn.100618c0
mov ecx, dword [esp + 0x34]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x34]
or esi, eax
call fcn.10061970
push 0xffff1fff
lea ecx, [esp + 0x14]
or esi, eax
call fcn.10061880
test esi, 0x8000807e
je 0x100674e1
push 0x18
lea ecx, [esp + 0x14]
call fcn.100618b0
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x100942f0]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x10067512
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068890
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068890
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068890
mov ecx, dword [esp + 0x44]
push 0x100000
call fcn.100617b0
test al, al
jne 0x10067bf5
mov eax, dword [esp + 0x38]
test al, 0x42
jne 0x10067adf
test al, 1
je 0x100676c3
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov ebx, eax
call fcn.10061950
mov ecx, dword [esp + 0x48]
add esp, 4
mov esi, eax
call fcn.100617c0
mov ecx, dword [esp + 0x18]
cmp ecx, 4
je 0x100675d3
test al, al
jne 0x100675d3
cmp ecx, 5
je 0x10067588
test ebx, ebx
je 0x10067cd9
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100618a0
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.100689f0
test al, al
je 0x100675c8
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x100675c8
lea eax, [esi + 0x40]
jmp 0x10067667
lea eax, [esi + 0x80]
jmp 0x100676aa
and esi, 0xf8
or esi, 4
cmp ecx, 5
je 0x1006760f
test ebx, ebx
jne 0x1006760f
push esi
lea ecx, [esp + 0x20]
call fcn.10068890
push dword [esp + 0x18]
lea edx, [ebx + 4]
xor ecx, ecx
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
jmp 0x1006517b
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100618a0
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.100689f0
test al, al
je 0x10067687
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
shl eax, cl
cmp ebx, eax
jne 0x10067687
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10068890
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.10061950
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.10068890
mov ecx, dword [esp + 0x48]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
jmp 0x1006517b
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10068890
push dword [esp + 0x18]
mov edx, 4
xor ecx, ecx
call fcn.10061950
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.10068890
push ebx
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x1006517b
test al, 0x30
jne 0x10067a1f
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061720
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x5c], esi
call fcn.100610e0
mov ecx, eax
call fcn.10061270
mov ecx, edi
mov dword [esp + 0x34], eax
call fcn.10061430
test al, al
je 0x10067717
cmp esi, 2
je 0x10064385
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061950
jmp 0x10067a00
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov esi, dword [esp + 0x34]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.10061420
mov ecx, eax
call fcn.10061380
mov ecx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x1006781d
and ecx, edx
cmp ecx, 0xffffffff
jne 0x100677e3
cmp dword [esp + 0x48], esi
je 0x100679d8
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x10067826
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x100679d8
cmp dword [esp + 0x58], 0x17e
jne 0x100679cc
movzx eax, al
test al, 0x40
je 0x100679d8
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x100679d8
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10068860
test al, al
jne 0x100679d8
push ebx
lea ecx, [esp + 0x20]
call fcn.100615d0
jmp 0x100679d8
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061750
cmp dword [esp + 0x58], 0x17e
mov ecx, eax
jne 0x1006780e
cmp dword [esp + 0x48], esi
je 0x1006780a
cmp dword [esp + 0x50], 0
jne 0x1006780e
mov al, 1
jmp 0x10067810
xor al, al
cmp ecx, 5
jae 0x10067900
test al, al
jmp 0x10067820
cmp eax, 2
jne 0x10067900
mov ecx, dword [esp + 0x3c]
push dword [edi + 0x6c]
movzx esi, cl
lea ecx, [esp + 0x20]
call fcn.100615a0
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
mov eax, 0
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
adc eax, edx
and ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
cmp ecx, 0xffffffff
je 0x10067925
mov ecx, dword [edi + 0x68]
call fcn.100612b0
test eax, eax
jne 0x10067925
mov ecx, dword [edi + 0x68]
call fcn.100612c0
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x44]
mov ecx, ebx
adc edi, dword [esp + 0x38]
add esi, dword [esp + 0x5c]
adc edi, dword [esp + 0x6c]
add esi, 5
adc edi, 0
call fcn.100610e0
mov ecx, eax
call fcn.10061250
sub eax, esi
mov dword [esp + 0x5c], eax
sbb edx, edi
push edx
push eax
call fcn.100687f0
add esp, 8
test al, al
je 0x100678e2
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push dword [esp + 0x5c]
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x1006475b
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061730
test al, al
jne 0x10064385
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x48], esi
je 0x100679d8
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10067787
mov ecx, 0x2e
call fcn.100610e0
jmp 0x100620a3
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x54]
push 4
push eax
call fcn.10069660
test eax, eax
jne 0x100620a3
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
mov ecx, dword [edi + 0x68]
call fcn.100612b0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10061480
mov ecx, dword [esp + 0x54]
push 4
push 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + 8]
call fcn.100612e0
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100615a0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061310
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061250
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
lea ecx, [esp + 0x1c]
push 0
call fcn.10068a00
jmp 0x1006517b
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10068a10
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push 5
mov edx, 4
xor ecx, ecx
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x1006517b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
mov ecx, edi
call fcn.10061430
test al, al
jne 0x10067db6
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
test byte [esp + 0x38], 0x10
mov dword [esp + 0x5c], eax
je 0x10067ad0
lea esi, [edi + 0x2c]
mov ecx, ebx
mov dword [esp + 0x58], esi
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov ecx, dword [esi]
push eax
call fcn.10061390
mov esi, eax
mov dword [esp + 0x48], esi
test esi, esi
je 0x10067e1a
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
push dword [edi + 0x68]
movzx eax, cl
mov ecx, 0xfffffffc
sub ecx, eax
lea eax, [edi + 0x68]
add ebx, ecx
mov dword [esp + 0x48], eax
mov ecx, esi
call fcn.10061350
test al, al
je 0x10067ef2
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100615a0
mov ecx, esi
sub ebx, eax
call fcn.10061360
add eax, ebx
push eax
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x1006517b
test al, 0x40
jne 0x10067afd
mov esi, dword [esp + 0x50]
cmp esi, 4
jne 0x10067c05
lea ecx, [esi + 0x28]
call fcn.100610e0
jmp 0x100620a3
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
movsx edx, ax
mov eax, dword [esp + 0x38]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], ecx
je 0x10067bca
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x50]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 3
jne 0x10067b65
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061760
test eax, eax
jne 0x10064385
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov al, byte [esi + eax*8 + 0x10094798]
jmp 0x10067b75
test al, 2
je 0x10067b6f
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x100942a0]
movzx ecx, al
cmp ecx, 0xff
je 0x10064385
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10067b98
cmp esi, 6
jne 0x10067cd9
mov ecx, edx
call fcn.100689f0
lea ecx, [esp + 0x1c]
test al, al
je 0x10067bc2
lea eax, [esi + 0x40]
push eax
call fcn.10068890
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.10068890
jmp 0x1006517b
lea eax, [esi + 0x80]
jmp 0x10067bdd
test al, 0x30
jne 0x10064385
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10068890
push dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.10068a40
jmp 0x1006517b
mov eax, dword [esp + 0x38]
test al, 2
je case.default.0x10061f4f
mov esi, dword [esp + 0x50]
and esi, 7
test al, 1
je 0x10067d06
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x4c], eax
call fcn.10061950
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, ebx
push dword [esp + 0x18]
call fcn.100610e0
mov ecx, eax
call fcn.10061760
mov edx, esi
mov ecx, eax
call fcn.10061950
mov esi, dword [esp + 0x4c]
add esp, 4
mov ebx, eax
mov dword [esp + 0x40], ebx
test esi, esi
jne 0x10067c8b
cmp dword [esp + 0x18], 5
je 0x10067c8b
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push ebx
lea ecx, [esp + 0x20]
call fcn.10068890
jmp 0x1006517b
push 0xe000
lea ecx, [esp + 0x14]
call fcn.100618a0
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.100689f0
test al, al
je 0x10067ce8
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x48]
shl eax, cl
cmp ebx, eax
jne 0x10067cec
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10068890
push dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.10068890
push esi
lea ecx, [esp + 0x20]
call fcn.10068890
jmp 0x1006517b
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10068890
push dword [esp + 0x40]
jmp 0x100676ab
test al, 0x30
jne 0x10067d67
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push 5
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061760
mov edx, esi
mov ecx, eax
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
push eax
lea ecx, [esp + 0x20]
call fcn.100688a0
jmp 0x1006517b
mov ecx, edi
call fcn.10061430
test al, al
je 0x10064385
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
push 5
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061760
mov edx, esi
mov ecx, eax
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
mov ecx, dword [edi + 0x2c]
lea esi, [edi + 0x2c]
push 1
mov dword [esp + 0x5c], esi
call fcn.10061370
mov ecx, dword [esi]
push eax
add ecx, 0x88
call fcn.100687a0
test eax, eax
jne 0x10068006
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061270
test byte [esp + 0x38], 0x10
mov dword [esp + 0x40], eax
je 0x10067f65
mov ecx, ebx
call fcn.100610e0
mov ecx, eax
call fcn.10061160
mov ecx, dword [esi]
push eax
call fcn.10061390
mov ebx, eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x10067e29
mov ecx, 0xc
call fcn.100610e0
jmp 0x100620a3
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.10069660
test eax, eax
jne 0x100620a3
mov ecx, dword [edi + 0x68]
lea eax, [edi + 0x68]
mov dword [esp + 0x44], eax
call fcn.100612b0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10061480
mov ecx, dword [esp + 0x54]
push 4
push 1
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + 8]
call fcn.100612e0
mov ecx, dword [esp + 0x3c]
movzx esi, cl
lea ecx, [esp + 0x1c]
push esi
push dword [edi + 0x74]
call fcn.100615a0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061310
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x40]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, ebx
call fcn.10061340
test al, al
je 0x10067eeb
mov esi, dword [esp + 0x54]
mov ecx, ebx
call fcn.10061360
add dword [esi + 0x20], eax
mov ecx, ebx
adc dword [esi + 0x24], edx
call fcn.10061330
mov ecx, eax
call fcn.100612b0
mov ecx, dword [esp + 0x54]
push 0
mov dword [ecx + 0x14], eax
lea ecx, [esp + 0x20]
call fcn.10068a00
jmp 0x1006517b
mov ebx, 0xfffffffc
sub ebx, esi
mov dword [esp + 0x50], 4
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100615a0
push dword [esp + 0x50]
lea ecx, [esp + 0x60]
mov esi, eax
push 0
call fcn.100612e0
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x5c]
push eax
push ebx
push esi
mov ecx, dword [ecx]
call fcn.100612b0
mov ecx, dword [esp + 0x64]
push eax
push dword [esp + 0x58]
mov ecx, dword [ecx]
call fcn.10069230
mov esi, eax
test esi, esi
je 0x10068006
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x10067f53
call fcn.100612b0
mov dword [esi + 8], eax
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.100615b0
jmp 0x1006517b
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 3
push eax
call fcn.10069660
test eax, eax
jne 0x100620a3
mov ecx, dword [edi + 0x68]
call fcn.100612b0
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.100612b0
mov ecx, dword [esp + 0x54]
push 4
push 1
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + 8]
call fcn.100612e0
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.100615a0
mov ecx, dword [esp + 0x58]
push eax
lea ecx, [ecx + 8]
call fcn.10061310
mov ecx, edi
call fcn.10061480
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.100612d0
mov ecx, dword [esp + 0x54]
mov esi, eax
mov eax, dword [esp + 0x40]
cdq
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
adc edx, 0
jmp 0x100679b6
mov ecx, 1
call fcn.100610e0
jmp 0x100620a3
mov ebx, dword [ebp + 0x10]
cmp esi, 0x49
jne case.default.0x10061f4f
mov ecx, dword [ebp + 0x14]
call fcn.10061160
mov ecx, edi
mov esi, eax
call fcn.10061160
mov edx, esi
mov ecx, eax
call fcn.10061920
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10061160
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
and eax, 0xf98
and dword [esp + 0x14], 7
mov esi, dword [edi + 0x4c]
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x18]
and eax, 0x18
shl esi, 2
or esi, eax
mov eax, ecx
and eax, 0x1000
shl esi, 2
or eax, dword [esp + 0x10]
shr eax, 8
and eax, 0x60001f
or esi, eax
test ecx, 0x8c0000
je 0x10068103
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x10068103
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x44]
je 0x100680bd
test byte [eax + 4], 0x70
jne 0x100680ed
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x100680e5
shr edx, 2
test dl, 1
je 0x100680ed
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x100680fd
shr edx, 3
test dl, 1
jne 0x100680f7
mov eax, 0x2a
jmp 0x100620a3
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x44]
test byte [eax + 3], 1
je 0x10068122
test esi, 0xd78150
jne 0x1006812e
test dword [esp + 0x20], 0xc00
jne 0x10068122
or esi, 0x10
test esi, 0xd78150
je 0x100681c3
mov eax, dword [esp + 0x10]
mov edx, esi
and edx, 0x8000
mov ecx, eax
shl edx, 4
and eax, 0x8000000
or edx, esi
shr ecx, 1
and edx, 0xffff78ef
and ecx, 0x8300000
shl edx, 4
and esi, 0x100
or edx, esi
or ecx, eax
shl edx, 4
shr ecx, 4
or edx, ecx
lea ecx, [esp + 0x1c]
xor edx, 0x87cf062
push edx
call fcn.100688a0
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x10]
mov byte [ecx], al
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
and edx, 7
mov cl, byte [esp + 0x14]
inc eax
mov dword [esp + 0x18], edx
sub dl, 0x40
shl cl, 3
mov dword [esp + 0x1c], eax
add cl, dl
mov byte [eax], cl
inc dword [esp + 0x1c]
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10061a40
jmp 0x100682a2
mov eax, dword [esp + 0x10]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, 0x8000000
and edx, 0x300000
or edx, ecx
mov ecx, esi
and ecx, 0x200000
shr edx, 1
or edx, ecx
mov ecx, dword [esp + 0x20]
and ecx, 0xfffffc00
shr edx, 0xb
shl ecx, 0x15
or edx, ecx
or esi, edx
test esi, 0x8000803e
je 0x10068243
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x100942f0]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.100688a0
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x14]
and eax, 7
mov dword [esp + 0x18], eax
sub al, 0x40
shl cl, 3
add cl, al
mov eax, dword [esp + 0x1c]
jmp 0x100681a3
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10068890
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10068890
push dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.10068890
mov eax, dword [esp + 0x18]
mov ecx, 3
mov edx, dword [esp + 0x14]
and eax, 7
push eax
mov dword [esp + 0x1c], eax
call fcn.10061950
add esp, 4
lea ecx, [esp + 0x1c]
push eax
call fcn.10068890
jmp 0x100681a9
mov edi, edx
mov dword [edi + 0x48], 0
lea ecx, [esp + 0x1c]
mov dword [edi + 0x4c], 0
push edi
mov dword [edi + 0x44], 0
mov dword [edi + 0x50], 0
call fcn.10061600
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14