Function at 0x10066472
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
and dword [esp + 0x40], 0
mov eax, ecx
mov dword [esp + 4], eax
xor cl, cl
cmp dword [ebp + 8], 0x67f
xorps xmm0, xmm0
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0x74]
sbb eax, eax
and eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], edx
mov byte [esp + 0x28], cl
lea eax, [eax*8 + 0x100a2778]
movlpd qword [esp + 0x1c], xmm0
mov dword [esp + 0x34], eax
mov eax, dword [eax]
shr eax, 0xe
and eax, 0x3ff
push ebx
mov ebx, dword [ebp + 0x10]
push esi
lea eax, [eax*8 + 0x100a1778]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebx]
and ecx, 7
and eax, 7
lea ecx, [eax + ecx*8]
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], esi
mov eax, dword [ecx + 0x70]
sub eax, edx
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [esp + 0x54], eax
sete al
xor edx, edx
or ecx, eax
inc edx
mov eax, dword [esp + 0x10]
or ecx, dword [eax + 0x44]
or ecx, dword [eax + 0x24]
mov dword [esp + 0x20], ecx
test ecx, 0x3e001
je 0x10063860
cmp dword [eax + 0x2c], 0
jne 0x10063654
push 0
push 5
mov ecx, eax
jmp 0x1006379a
cmp dword [esp + 0x54], 0
je 0x10069649
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10062f72
test eax, eax
jne 0x10063784
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x10063735
mov esi, edi
mov eax, dword [ebp + 0x18]
lea edi, [esp + 0xd8]
push 0
push 6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ebx
lea edi, [esp + 0xf0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
lea edi, [esp + 0x100]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [esp + 0x110]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x10]
lea edi, [esp + 0x120]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x20]
mov eax, dword [esp + 0x5c]
lea edi, [esp + 0x130]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc8], eax
mov edi, ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov al, byte [edi + 0x38]
mov byte [esp + 0x60], al
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0x68]
call dword [edi + 0x64]
add esp, 0x14
test eax, eax
jne 0x10063788
mov esi, dword [esp + 0x3c]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a2778]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a1778]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x10063818
mov eax, dword [esp + 0x20]
and eax, 0x30000
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
shr eax, 0x10
test dl, al
jne 0x100637a8
cmp dword [esp + 0x24], 0
jne 0x100637af
push 0x21
pop eax
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x44], ecx
push ecx
mov dword [edi + 0x50], ecx
mov ecx, edi
push eax
call fcn.1006f803
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x1006380d
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x100637cd
mov eax, dword [esp + 0x44]
shr eax, 0x11
test dl, al
jne 0x100637cd
push 0x22
jmp 0x10063783
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x100637e7
mov eax, dword [esp + 0x44]
shr eax, 0x12
test dl, al
jne 0x100637e7
push 0x23
jmp 0x10063783
mov eax, dword [esp + 0x24]
not al
and al, dl
or eax, 0xf2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov byte [eax], bl
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x10063811
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x10063860
mov eax, dword [esp + 0x44]
shr eax, 0xe
test dl, al
je 0x100638c6
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10063848
shr eax, 8
test al, 0xf
jne 0x100638c6
cmp dword [ecx + 0x4c], edx
jne 0x100638c6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shr ecx, 0xf
not cl
and cl, dl
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx*8 + 0x100a277e]
and dword [esp + 0x18], 0
mov ecx, dword [eax*4 + 0x100a5b70]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a277d]
or eax, ecx
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
movzx ebx, byte [eax + 4]
mov dword [esp + 0x58], ebx
cmp ebx, 0xa0
mov ebx, dword [ebp + 0x10]
ja case.default.0x100638bf
mov edi, dword [esp + 0x58]
mov dword [esp + 0x44], 0x8000000
jmp dword [edi*4 + 0x10069651]
push 0x24
jmp 0x10063783
shr ecx, 0xd
and ecx, 7
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d1e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10069aa7
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
shr edx, 0x15
and eax, 8
or edx, eax
mov eax, dword [esp + 0x14]
shr edx, 2
and eax, 8
or edx, eax
shr edx, 1
cmp edx, 0x80
ja 0x10067331
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0xc]
test edx, edx
lea ecx, [esp + 0x20]
setne al
and dword [esp + 0x18], 7
add dword [esp + 0x20], eax
and dword [esp + 0x1c], 7
call fcn.100632d1
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 0x10063a56
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x100638bf
lea ecx, [esp + 0xc]
call fcn.100631ad
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x100638bf.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062dae
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009d248]
call fcn.10063157
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069ad4
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d1e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10069aa7
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10067331
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [eax], cl
xor eax, eax
push dword [esp + 0xc]
test edx, edx
lea ecx, [esp + 0x20]
setne al
add dword [esp + 0x20], eax
call fcn.100632d1
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.1006337d
mov edi, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0x1c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x44], eax
push edi
mov dword [edi + 0x50], eax
call fcn.10063016
xor eax, eax
jmp 0x1006379f
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100638bf.1
cmp esi, edx
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
test eax, eax
je case.0x100638bf.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x10067337
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100638bf.1
cmp esi, 9
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
cmp eax, 2
jne case.default.0x100638bf
mov ecx, ebx
jmp 0x10063a9f
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100638bf.1
cmp esi, 2
jne case.default.0x100638bf
xor edx, edx
mov ecx, edi
call fcn.10063237
test al, al
je case.default.0x100638bf
mov esi, edi
mov ecx, esi
call fcn.10062d62
mov ecx, eax
call fcn.10062e1f
mov ecx, esi
movzx ebx, byte [eax + 0x1009d248]
call fcn.10062d62
mov ecx, eax
call fcn.10062e2e
test al, al
jne case.default.0x100638bf
test bl, 2
jne case.default.0x100638bf
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632b2
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100631b6
mov edi, eax
mov ecx, edi
call fcn.10063290
test al, al
jne 0x10067331
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10069aa7
mov ecx, esi
call fcn.10062d62
mov ecx, eax
call fcn.10063133
push eax
lea ecx, [esp + 0x20]
call fcn.10063329
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10063157
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069ad4
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632d1
xor eax, eax
push eax
push eax
push eax
jmp 0x100668ec
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10063bdc
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x100638bf.1
cmp esi, 0x19
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
mov ecx, ebx
jmp 0x10063bba
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x100638bf.11
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
xor edx, edx
inc edx
jmp case.0x100638bf.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b8998]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
cmp esi, edx
je case.0x100638bf.63
mov ebx, edi
cmp esi, 2
je 0x10063c80
jmp case.default.0x100638bf
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x100638bf.14
push 2
pop edx
mov ecx, ebx
call fcn.100630dd
test al, al
je case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100630dd
test al, al
je case.default.0x100638bf
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10062d65
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063208
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e1f
mov ecx, ebx
movzx eax, byte [eax + 0x1009d248]
mov dword [esp + 0x44], eax
call fcn.10062d62
mov ecx, eax
call fcn.10063133
push eax
lea ecx, [esp + 0x20]
call fcn.10063329
lea ecx, [esp + 0x1c]
call fcn.10062e75
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.10063157
test dword [esp + 0x44], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10069ad4
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632b2
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e2a
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x20]
shr edx, 1
and ecx, 8
and edx, 4
mov dword [esp + 0x28], eax
and eax, 8
or edx, eax
shr edx, 1
or edx, ecx
lea ecx, [esp + 0x10]
shr edx, 1
and edx, dword [esp + 0x48]
mov dword [esp + 0x54], edx
call fcn.100631b6
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.10063290
test al, al
jne 0x10067335
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069aa7
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.100632d1
jmp 0x1006893f
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100638bf
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x100638bf.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.100631dc
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x10063de2
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, edi
jmp 0x10064ca9
cmp esi, 2
jne 0x10063dfd
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp 0x10063c7e
mov ecx, ebx
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
cmp esi, 9
je 0x10063ddb
cmp esi, 0xa
jmp 0x10063d9c
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062e1f
mov ecx, edi
movzx ebx, byte [eax + 0x1009d248]
call fcn.10062d62
mov ecx, eax
call fcn.10062e2e
test al, al
jne case.default.0x100638bf
test bl, 2
jne case.default.0x100638bf
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632b2
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100631b6
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.10063290
test al, al
jne 0x10067331
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069aa7
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10062d62
mov ecx, eax
call fcn.10063133
push eax
lea ecx, [esp + 0x20]
call fcn.10063329
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10063157
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069ad4
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632d1
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x10063ba6
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10063f64
push 2
pop edx
mov ecx, ebx
call fcn.100630dd
test al, al
je case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100630dd
test al, al
je case.default.0x100638bf
jmp 0x10063ddb
cmp esi, edx
jne case.default.0x100638bf
mov ecx, edi
call fcn.10063064
jmp 0x10063f57
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100638bf
jmp 0x10063ddb
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b8998]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10063fb3
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10064cae
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x14], eax
jmp 0x10063c80
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006401c
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 2
jne 0x10064006
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp case.0x100638bf.63
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0d
jmp case.0x100638bf.63
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 2
jne 0x1006404c
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x10063c80
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0d
jmp 0x10063c80
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b8998]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064094
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x100638bf.63
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov dword [esp + 0x14], eax
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100641b1
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne 0x100667d3
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne 0x1006417e
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10064139
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
push 4
pop ecx
jmp 0x10064147
mov edx, esi
call fcn.10062f2e
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006416e
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
jmp 0x1006417e
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10062f2e
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10069aa1
test al, al
je case.0x100638bf.63
push 2
lea ecx, [esp + 0x10]
call fcn.10063190
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10039576
jmp case.0x100638bf.63
cmp esi, 0x11
jne 0x10064230
push 2
lea ecx, [esp + 0x10]
call fcn.10063190
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne 0x10063c80
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006421c
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x10063c80
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x14], 4
jmp 0x10063c80
cmp esi, 0xa
jne 0x100642a1
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, ebx
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne 0x10063c7e
mov ecx, ebx
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x1006428d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x10063c7e
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x14], 4
jmp 0x10063c7e
push 0x80
lea ecx, [esp + 0x10]
call fcn.100631dc
cmp esi, 0x19
jne 0x100644d0
mov ecx, edi
call fcn.10062d97
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov ecx, dword [esp + 0x60]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x10064336
mov ecx, edi
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x10064318
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x10064327
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x48], edx
mov byte [esp + 0x34], dl
jmp 0x10064438
push 4
pop eax
cmp ecx, 2
jne 0x10064351
push 0x200000
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp 0x100643e8
cmp ecx, eax
jne 0x1006436e
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069b23
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100643e8
cmp ecx, 8
jne 0x100643eb
cmp dword [esp + 0x54], 0x15
jne 0x10064391
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069b29
mov byte [esp + 0x67], bl
pop ecx
pop ecx
test al, al
jne 0x10064396
mov byte [esp + 0x5f], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a65
pop ecx
pop ecx
test al, al
jne 0x100643bc
cmp byte [esp + 0x5f], al
jne 0x100643d1
push 0x32
pop ecx
call fcn.10062d62
jmp 0x10063784
cmp byte [esp + 0x5f], 0
je 0x100643da
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10062f5e
test al, al
je 0x100643da
push 4
pop eax
mov dword [esp + 0x60], eax
jmp 0x100643de
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0d
push 4
pop eax
lea edx, [esp + 0x70]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x60]
call fcn.10069a99
push dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
push dword [esp + 0x2c]
mov byte [esp + 0x3c], al
call fcn.10069a3f
pop ecx
pop ecx
test al, al
je 0x10064434
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
mov edx, dword [esp + 0x48]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x10064329
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x18], 0
jne 0x100644aa
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x1006444b
cmp dl, bl
je 0x100644b2
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
jne 0x100644aa
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100631f2
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x60], ebx
push 4
setne cl
shl eax, 3
pop ebx
add ecx, ebx
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.100631fd
lea edx, [esp + 0xbc]
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x60]
call fcn.10069a99
mov byte [esp + 0x34], al
jmp case.0x100638bf.1
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
cmp dl, bl
push 3
pop eax
cmovne eax, ebx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10063190
jmp case.0x100638bf.63
cmp esi, 0x1a
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov dword [esp + 0x68], eax
test eax, eax
je 0x100666d3
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
push 4
mov esi, eax
mov dword [esp + 0x30], edx
pop ebx
lea edx, [esp + 0xb8]
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x68]
mov dword [esp + 0xb8], ebx
call fcn.10069a99
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp dword [esp + 0x68], ebx
jne 0x10064540
push dword [esp + 0x2c]
push esi
call fcn.10069b23
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a3f
pop ecx
pop ecx
test al, al
je 0x10064578
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
mov ecx, dword [esp + 0x38]
test al, al
push 1
movzx ecx, cl
pop edx
cmove ecx, edx
mov dword [esp + 0x38], ecx
mov byte [esp + 0x34], cl
jmp 0x1006457b
xor edx, edx
inc edx
cmp byte [esp + 0x38], dl
mov ecx, dword [esp + 0x68]
push 3
pop eax
cmovne eax, edx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10063190
push dword [esp + 0x68]
jmp 0x10063def
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
cmp eax, 1
je case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov edi, dword [esp + 0x10]
jmp 0x10066873
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x1006460c
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, ebx
call fcn.10062d9c
mov dword [esp + 0x14], eax
jmp 0x10063ddb
cmp esi, 0xa
jne 0x10064625
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp 0x1006409d
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
lea ecx, [esp + 0xc]
call fcn.10063133
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x10063ddb
cmp esi, 0x1a
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
test eax, eax
je 0x100666d3
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10063ddb
mov ebx, edi
cmp esi, 2
je 0x10063c80
push 0xe8
lea ecx, [esp + 0x10]
call fcn.100631dc
and dword [esp + 0x14], 0
jmp 0x10064fd4
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x100646f6
mov ecx, dword [ebp + 0x14]
call fcn.10062db6
test al, al
je case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
and esi, 0x3f
cmp esi, 9
jne 0x100647b5
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne 0x100667d3
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne case.0x100638bf.63
mov ecx, edi
call fcn.10063034
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x1006477d
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
jmp 0x10064789
mov edx, esi
call fcn.10062f2e
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x1006652f
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
jmp case.0x100638bf.63
cmp esi, 0xa
jne case.default.0x100638bf
jmp 0x10064235
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x10063d99
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.10062d6b
test al, al
je case.default.0x100638bf
lea ecx, [ebx + 0x10]
call fcn.10062d6b
jmp 0x10063c76
mov edi, dword [ebp + 0xc]
mov edx, 0x8000000
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
xor eax, eax
cmp byte [edi + 3], 8
cmove eax, edx
or eax, ecx
mov dword [esp + 0xc], eax
cmp esi, 9
jne 0x1006488b
mov ecx, ebx
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 1
jne 0x10064864
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006484d
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006485b
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x100638bf.63
mov ecx, ebx
call fcn.10062d97
cmp eax, 2
jne 0x1006487b
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069ab9
push 1
lea ecx, [esp + 0x10]
call fcn.10063190
jmp case.0x100638bf.63
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
test eax, eax
je 0x100666d3
mov ecx, ebx
call fcn.10062d97
cmp eax, 2
jne 0x100648ba
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, ebx
call fcn.10062d97
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.10063190
jmp 0x10063c80
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10069a8c
mov ecx, ebx
mov di, ax
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x34], 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.0x100638bf.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x100649c8
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov esi, eax
mov byte [esp + 0x34], 1
mov eax, edx
mov dword [esp + 0x28], esi
push eax
push esi
mov dword [esp + 0x34], eax
call fcn.10069a3f
pop ecx
pop ecx
test al, al
je 0x10064993
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
je 0x100649b6
push 2
lea ecx, [esp + 0x10]
call fcn.100631e7
mov ecx, edi
call fcn.10062d97
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10064ca9
cmp esi, 0xd1
jne 0x10064a86
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov esi, eax
mov dword [esp + 0x2c], edx
mov al, 1
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
call fcn.10062d97
cmp eax, 4
jne 0x10064a33
push dword [esp + 0x2c]
push esi
call fcn.10069b23
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a3f
pop ecx
pop ecx
test al, al
je 0x10064a5a
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
je 0x10063fbc
push 2
lea ecx, [esp + 0x10]
call fcn.100631e7
mov ecx, edi
call fcn.10062d97
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063fbc
cmp esi, 9
jne 0x10064aed
mov ecx, ebx
call fcn.10062d97
cmp eax, 1
je 0x10064bf9
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne 0x100667d3
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp case.0x100638bf.63
cmp esi, 0x11
jne 0x10064b31
mov ecx, ebx
call fcn.10062d97
cmp eax, 1
je 0x10064c5e
mov ecx, edi
call fcn.10062d9c
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp 0x10063c80
cmp esi, 0x19
jne case.0x100638bf.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov esi, eax
mov byte [esp + 0x34], 1
mov ebx, edx
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.10062d97
cmp eax, 4
jne 0x10064b92
push ebx
push esi
call fcn.10069b23
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a3f
pop ecx
pop ecx
test al, al
je 0x10064bb5
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
je 0x10064bd8
push 2
lea ecx, [esp + 0x10]
call fcn.100631e7
mov ecx, edi
call fcn.10062d97
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x18], eax
jmp 0x1006408b
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x100638bf.12
cmp esi, 9
jne 0x10064c59
xor edx, edx
mov ecx, edi
call fcn.100630c4
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10063054
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x10064c45
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x100647a5
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x18], 4
jmp case.0x100638bf.63
cmp esi, 0x11
jne 0x10064c78
xor edx, edx
mov ecx, edi
call fcn.100630c4
mov edi, dword [esp + 0x10]
test al, al
je 0x10063ab0
jmp 0x10063c84
cmp esi, 0x49
jne 0x10064cb7
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
mov dword [esp + 0x18], eax
jmp case.0x100638bf.63
cmp esi, 0x89
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ebx, dword [ebp + 0x14]
jmp 0x10063c80
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064d2e
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 1
jne case.0x100638bf.63
mov ecx, edi
jmp 0x10064c26
cmp esi, 2
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
test eax, eax
je 0x100666d3
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x10064dcd
mov ecx, edi
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
call fcn.10062d97
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100632a6
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b3d
jmp case.0x100638bf.1
cmp esi, 9
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
cmp eax, 2
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10063190
jmp 0x10064db7
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100638bf
push 7
pop edx
mov ecx, edi
call fcn.10063237
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
cmp eax, 2
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov ebx, eax
test ebx, ebx
je 0x100666d3
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10063190
push ebx
lea ecx, [esp + 0x10]
call fcn.10069b3d
jmp 0x10063af6
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10064d2e
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 1
jne 0x10064e9a
mov eax, dword [edi]
jmp 0x1006482a
mov ecx, dword [esp + 0x10]
call fcn.10062f3c
test al, al
je 0x10064ebe
mov ecx, dword [esp + 0x40]
call fcn.100632a6
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x10064dad
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
jmp case.0x100638bf.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
jmp 0x10063bca
push 0x40
mov edx, 0x80
pop ecx
call fcn.10062f24
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069aa1
mov edi, dword [ebp + 0xc]
test al, al
je 0x10064f43
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10062f5e
test al, al
je 0x10064f43
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10069aa1
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x58], al
push dword [esp + 0x58]
call fcn.10069ab9
mov ebx, edi
jmp 0x100646be
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062d6b
test al, al
je 0x10064f43
xor edx, edx
mov ecx, edi
inc edx
call fcn.10062dd5
test al, al
je case.default.0x100638bf
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10062f3c
test al, al
je 0x10064f85
mov ecx, edi
call fcn.10062d97
cmp eax, 2
je 0x10064f9c
mov ecx, esi
call fcn.10062f42
test al, al
je 0x10064fa0
mov ecx, edi
call fcn.10062d97
cmp eax, 4
jne 0x10064fa0
mov al, 1
jmp 0x10064fa2
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10069ad4
jmp 0x100646be
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x10063ddb
mov ebx, edi
cmp esi, 2
je 0x10063c80
push 0xe9
jmp 0x100646b5
mov ebx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
shr edx, 0x18
cmp edx, 0x80
ja 0x10067335
mov eax, dword [esp + 0x1c]
and edx, 0x7f
mov cl, dl
mov dword [esp + 0x50], edx
or cl, 0x40
mov byte [eax], cl
xor eax, eax
mov ecx, dword [esp + 0x1c]
test edx, edx
setne al
add ecx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
sub ecx, dword [edi + 0x6c]
mov dword [esp + 0x38], ecx
movzx eax, byte [eax + 7]
mov ecx, dword [esp + 0xc]
and ecx, 0x1f00
sub ecx, 0x100
mov esi, dword [eax*4 + 0x100a2558]
neg ecx
mov dword [esp + 0x3c], esi
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [esp + 0x14], eax
setne al
add eax, 5
add ecx, eax
mov eax, dword [ebx]
and al, 7
mov dword [esp + 0x44], ecx
mov ecx, ebx
cmp al, 4
jne 0x100651c9
call fcn.10062d62
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062f03
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100691d5
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x4c], esi
call fcn.10062ecb
test al, al
je 0x10065104
mov ecx, ebx
call fcn.10062ed8
mov ebx, dword [esp + 0x44]
mov esi, eax
sub esi, dword [esp + 0x38]
sub esi, ebx
lea eax, [esi - 2]
add eax, ebx
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.10069bae
test al, al
je 0x10065273
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10065273
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
jne 0x10065273
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10062f2e
push ebx
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x10063a6f
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x1006512e
cmp dword [esp + 0xc], 0
je 0x100651b2
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069aa1
test al, al
jne 0x100651b2
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x48], esi
je 0x1006526c
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069aa1
test al, al
jne 0x1006526c
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10063208
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069aa7
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069aa7
mov dword [esp + 0x3c], 0xfffffffc
push 4
pop ebx
jmp 0x100692a6
push ebx
lea ecx, [esp + 0x20]
call fcn.10069ab9
or dword [esp + 0x3c], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x100692a6
call fcn.10062d82
test al, al
je 0x10063ab0
mov ecx, edi
call fcn.10062f38
mov ecx, eax
call fcn.10062ee3
mov ecx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], edx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x10065301
mov ebx, dword [esp + 0x44]
mov esi, eax
sub esi, ebx
mov ecx, edi
sbb edx, 0
sub esi, dword [esp + 0x48]
sbb edx, dword [esp + 0x40]
sub esi, dword [esp + 0x38]
sbb edx, 0
mov dword [esp + 0x58], edx
call fcn.10062f4a
mov cl, al
call fcn.10062e67
test al, al
jne 0x100650a4
push dword [esp + 0x58]
push esi
call fcn.10069a65
pop ecx
pop ecx
test al, al
jne 0x100650a4
mov ecx, dword [esp + 0x54]
call fcn.10063224
test al, al
jne 0x100652fd
push 0x30
jmp 0x100691d7
cmp dword [esp + 0xc], 0
je 0x1006526c
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069aa1
test al, al
jne 0x1006526c
push 0x10
pop ecx
call fcn.10062f1f
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10062f33
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10063208
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069aa7
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069aa7
push esi
lea ecx, [esp + 0x20]
call fcn.10069ac6
jmp 0x10063a6f
mov esi, dword [esp + 0x3c]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.1006a762
test eax, eax
jne 0x10063788
mov ecx, edi
call fcn.10062f6b
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10062e75
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
cmp dword [esp + 0xc], 0
je 0x10065436
mov ecx, edi
call fcn.10062f4a
mov cl, al
call fcn.10062e6d
test al, al
je 0x100653ac
mov ecx, dword [esp + 0x54]
call fcn.10063224
test al, al
je 0x100653ac
cmp dword [esp + 0x50], 0
jne 0x10065389
push 0x40
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x38]
call fcn.1006a27c
test eax, eax
jne 0x10063788
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.10063208
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069aa7
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069aa7
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10062e84
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10062fd8
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062ea9
push ebx
lea ecx, [esp + 0x20]
call fcn.10069bbd
jmp 0x10063a6f
push esi
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10062e84
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10062fd8
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062ea9
push ebx
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x10063a6f
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x100654cb
mov ecx, edi
mov ebx, edi
call fcn.10062d97
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x100654a0
mov ecx, edi
call fcn.10062f4e
mov esi, eax
jmp 0x100654bc
sub esi, 2
cmp esi, 2
je 0x100654bc
cmp esi, 4
je 0x100654bc
mov ecx, edi
call fcn.10062f4e
cmp esi, eax
jne 0x10065bd5
push esi
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp 0x10063c84
cmp esi, 0x1b
jne case.default.0x100638bf
mov ecx, dword [esp + 0x10]
call fcn.10062f3c
test al, al
je case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, ebx
mov esi, eax
call fcn.10062d62
mov ecx, esi
mov edi, eax
call fcn.10062e5e
test edx, edx
jg 0x100643af
jl 0x10065513
cmp eax, 0xffff
ja 0x100643af
mov ecx, edi
call fcn.10062e5e
test edx, edx
jg 0x100643af
jl 0x1006552d
cmp eax, 0xffffffff
ja 0x100643af
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, esi
call fcn.10062e5e
mov ecx, edi
mov esi, eax
call fcn.10062e5e
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 6
jmp case.0x100638bf.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp 0x10063fbc
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006578f
mov ecx, edi
call fcn.10062db6
mov ecx, edi
test al, al
je 0x10065721
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062db6
test al, al
je 0x1006567f
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne case.default.0x100638bf
cmp esi, 1
jne 0x10065662
mov ecx, edi
call fcn.10063034
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10065612
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
jmp 0x1006561e
mov edx, esi
call fcn.10062f2e
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x10065643
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
jmp 0x1006564f
mov edx, esi
call fcn.10062f2e
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x1006417e
push 0x89
lea ecx, [esp + 0x10]
call fcn.100631dc
push esi
lea ecx, [esp + 0x10]
call fcn.10069ae3
jmp 0x1006417e
mov ecx, ebx
call fcn.10063094
test al, al
je 0x100656b2
push 0x8c
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
dec dword [esp + 0x14]
jmp case.0x100638bf.63
mov ecx, ebx
call fcn.100630a4
test al, al
je 0x100656ff
push pe_nt_image_headers32
lea ecx, [esp + 0x10]
call fcn.100631dc
test byte [esp + 0x14], 8
je case.0x100638bf.63
mov ecx, dword [esp + 0x10]
call fcn.10062f3c
test al, al
je case.0x100638bf.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10069ab9
and dword [esp + 0x14], 7
jmp case.0x100638bf.63
mov ecx, ebx
call fcn.100630b4
test al, al
je case.default.0x100638bf
push 0x121
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp case.0x100638bf.63
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062db6
test al, al
je case.default.0x100638bf
mov ecx, edi
call fcn.10063094
test al, al
je 0x10065764
push 0x8e
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, ebx
jmp 0x1006569a
mov ecx, edi
call fcn.100630a4
test al, al
je 0x10065779
push 0x122
jmp 0x100656c2
mov ecx, edi
call fcn.100630b4
test al, al
je case.default.0x100638bf
push 0x123
jmp 0x10065713
cmp esi, 0x11
jne 0x10065896
mov ecx, edi
call fcn.10062d9c
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10063094
lea ecx, [esp + 0xc]
test al, al
je 0x100657dc
push 0x8e
call fcn.100631dc
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
dec dword [esp + 0x14]
jmp 0x10063c80
push 0
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
cmp dword [esp + 0x14], 0
jne 0x10065848
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062df7
test al, al
jne 0x10065848
mov ecx, ebx
call fcn.10062d62
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.10062d97
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100633d4
add esp, 0xc
test al, al
je 0x10065848
push 0xa0
lea ecx, [esp + 0x10]
call fcn.10063190
jmp 0x10065c48
mov ecx, edi
call fcn.10062d97
cmp eax, 1
jne 0x1006588c
mov ecx, edi
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x1006587d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x1006588c
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x14], 4
push 0x8a
jmp 0x100648c9
cmp esi, 0xa
jne 0x1006599f
mov ecx, ebx
call fcn.10062d9c
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.10063094
lea ecx, [esp + 0xc]
test al, al
je 0x100658e5
push 0x8c
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10063c80
push 0
call fcn.100631dc
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
cmp dword [esp + 0x14], 0
jne 0x10065948
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062df7
test al, al
jne 0x10065948
mov ecx, edi
call fcn.10062d62
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.10062d97
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100633d4
add esp, 0xc
test al, al
je 0x10065948
push 0xa2
jmp 0x1006583a
mov ecx, ebx
call fcn.10062d97
cmp eax, 1
jne 0x1006598c
mov ecx, ebx
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x1006597d
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x1006598c
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10063190
jmp 0x100658de
cmp esi, 0x19
jne 0x10065ad1
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
mov byte [esp + 0x34], al
cmp al, 1
jne 0x10065a27
mov ecx, edi
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x100659eb
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x100659fa
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100645da
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
cmp byte [esp + 0x34], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10065a79
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
jne 0x10065a79
push ebx
push esi
call fcn.10069b29
pop ecx
pop ecx
test al, al
je 0x10065a99
mov ecx, dword [esp + 0x10]
push 1
call fcn.10062f5e
test al, al
je 0x10065a99
mov byte [esp + 0x34], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.100631dc
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10069b53
jmp 0x100645da
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069a65
pop ecx
pop ecx
test al, al
je 0x10065a79
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100631dc
and dword [esp + 0x14], 0
mov byte [esp + 0x34], 4
jmp case.0x100638bf.63
cmp esi, 0x1a
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov dword [esp + 0x6c], eax
test eax, eax
je 0x100666d3
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.100631dc
push dword [esp + 0x6c]
lea ecx, [esp + 0x10]
call fcn.10069ae3
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x74]
mov dword [esp + 0x74], 4
call fcn.10069a99
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065bdc
mov ecx, edi
call fcn.10062d9c
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062da0
test al, al
je case.default.0x100638bf
cmp dword [esp + 0x14], 0
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062df7
test al, al
jne 0x10065bd1
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10063110
cmp eax, 2
jne 0x10065c48
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x100691d7
cmp esi, 0xa
jne 0x10065c8e
mov ecx, ebx
call fcn.10062d9c
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100631dc
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062da0
test al, al
je case.default.0x100638bf
cmp dword [esp + 0x14], 0
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062df7
test al, al
jne 0x10065bd1
mov ecx, esi
call fcn.10062d62
mov ecx, eax
call fcn.10062e43
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10062f4e
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x34], al
call fcn.10062d62
mov ecx, eax
call fcn.10063133
push eax
lea ecx, [esp + 0x20]
call fcn.10063329
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x100638bf.1
cmp esi, 0x19
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10063044
test al, al
je case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100631dc
mov ecx, ebx
mov byte [esp + 0x34], 8
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10069b69
jmp 0x100645da
mov ecx, ebx
call fcn.10062d97
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10063190
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
cmp esi, 9
jne 0x10063fb3
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 1
jne case.0x100638bf.63
jmp 0x10064828
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10063044
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b74
jmp 0x1006409d
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, ebx
mov esi, eax
call fcn.10062d62
mov ecx, eax
call fcn.10062dae
mov ecx, esi
mov bl, al
call fcn.10062dae
cmp al, bl
jne case.default.0x100638bf
mov ecx, esi
call fcn.10062ded
test al, al
jne case.default.0x100638bf
mov ecx, esi
call fcn.10062e2e
test al, al
jne case.default.0x100638bf
mov ecx, esi
call fcn.10063129
test al, al
je 0x10065de3
mov ecx, esi
call fcn.10063133
cmp eax, 1
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10063c80
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10065e4f
mov ecx, ebx
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.100632a6
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.100631dc
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b3d
jmp 0x10063bb8
cmp esi, 9
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
cmp eax, 2
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10063190
mov ecx, ebx
jmp 0x10064db9
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
cmp eax, 2
jne case.default.0x100638bf
push 6
pop edx
mov ecx, ebx
call fcn.10063237
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
mov edi, eax
test edi, edi
je 0x100666d3
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10063190
push edi
jmp 0x10064e63
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065f2a
mov ecx, edi
call fcn.10063094
test al, al
je 0x10065fc0
mov ecx, edi
call fcn.10062d9c
cmp eax, 7
jae 0x10065fb9
push dword [eax*4 + 0x1009d228]
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp case.0x100638bf.1
cmp esi, 3
jne 0x10066004
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
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 + 0x3c], bl
call fcn.10069a3f
pop ecx
pop ecx
test al, al
je 0x10065f7b
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
movzx ebx, bl
push 1
pop eax
cmove ebx, eax
mov byte [esp + 0x34], bl
push 0x68
pop eax
push 0x6a
pop ecx
cmp bl, 1
cmove eax, ecx
push eax
jmp 0x10065f1c
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066004
mov ecx, edi
call fcn.10063094
test al, al
je 0x10065fc0
mov ecx, edi
call fcn.10062d9c
cmp eax, 2
je 0x10065fb9
cmp eax, 7
jae 0x10065fb9
push dword [eax*4 + 0x1009d710]
jmp 0x10065f1c
push 0x31
jmp 0x100643b1
mov ecx, edi
call fcn.10062d97
cmp eax, 2
jb case.default.0x100638bf
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b3d
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x14], eax
jmp 0x100645da
cmp esi, 2
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
test eax, eax
je 0x100666d3
mov ecx, edi
call fcn.10062d97
cmp eax, esi
je 0x10066041
mov ecx, edi
call fcn.10062d97
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10062f4e
cmp esi, eax
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b3d
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x1006606d
push edx
lea ecx, [esp + 0x10]
call fcn.10063190
jmp case.0x100638bf.1
cmp esi, 3
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x100660a8
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
jne 0x100660a8
push 1
jmp 0x1006605f
mov byte [esp + 0x34], 2
jmp case.0x100638bf.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10066193
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 1
jne 0x10066120
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006610e
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x1006611c
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x1006613c
mov ecx, ebx
call fcn.10062d9c
cmp eax, 1
jne case.default.0x100638bf
push 2
jmp 0x100644c2
cmp esi, 0x19
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
xor ebx, ebx
movzx eax, al
xor edx, edx
mov dword [esp + 0x28], eax
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], dl
cmp eax, ebx
jne 0x1006617f
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
je case.0x100638bf.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.100631e7
mov byte [esp + 0x34], bl
jmp case.0x100638bf.63
call fcn.10062d97
test eax, eax
je 0x100666d3
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
cmp esi, 0xa
jne 0x100661d6
mov ecx, ebx
call fcn.10062d9c
cmp eax, 1
jne case.default.0x100638bf
push 2
lea ecx, [esp + 0x10]
call fcn.10063190
jmp 0x10063c7e
cmp esi, 0x1a
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
xor ebx, ebx
movzx eax, al
xor cl, cl
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x38], ecx
inc ebx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], cl
cmp eax, ebx
jne 0x1006621f
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
je 0x10063c7e
push 0x10
lea ecx, [esp + 0x10]
call fcn.100631e7
mov al, bl
jmp 0x10065b42
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10063d99
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x18], eax
mov ecx, dword [edi]
and ecx, 0xff000fff
cmp ecx, 0x1000021
je 0x1006625f
cmp eax, 4
jmp 0x1006483b
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x10064852
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x100662b1
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, ebx
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
jmp 0x100639a3
cmp esi, 0xca
jne 0x100662fd
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069ae3
mov ecx, ebx
call fcn.10062d9c
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063c80
push edx
lea ecx, [esp + 0x10]
call fcn.10063190
cmp esi, 0x49
jne 0x10066324
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
cmp eax, 1
jne case.default.0x100638bf
mov ecx, edi
jmp 0x100645ed
cmp esi, 0x4a
jne case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
cmp eax, 1
jne case.default.0x100638bf
mov ecx, ebx
jmp 0x10064611
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, ebx
mov esi, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
test eax, eax
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
xor edx, edx
mov ecx, eax
call fcn.10062dd5
test al, al
je case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov edi, eax
call fcn.10062d8d
test al, al
je 0x100663a4
mov ecx, ebx
call fcn.10062d97
cmp eax, edi
jne 0x100667d3
push edi
lea ecx, [esp + 0x10]
call fcn.10069af8
jmp 0x10063af6
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, edi
mov esi, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
test eax, eax
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d62
xor edx, edx
mov ecx, eax
call fcn.10062dd5
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
mov ecx, edi
mov ebx, eax
call fcn.10062d8d
test al, al
je 0x10066412
mov ecx, edi
call fcn.10062d97
cmp eax, ebx
jne 0x100667d3
push ebx
jmp 0x100663a5
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d62
mov ecx, eax
call fcn.10062e1f
mov ecx, ebx
mov esi, eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e1f
cmp esi, eax
jne case.default.0x100638bf
mov ecx, edi
mov esi, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e2e
test al, al
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
mov ebx, eax
test ebx, ebx
je 0x100666d3
jmp 0x10066403
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066540
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
jne 0x100667d3
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne case.0x100638bf.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x10066502
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10062f2e
push 4
pop ecx
jmp 0x10066510
mov edx, esi
call fcn.10062f2e
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006652b
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x100647a1
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10062f2e
add dword [esp + 0x14], 4
jmp case.0x100638bf.63
cmp esi, 0xa
jne 0x1006658c
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, ebx
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne 0x10063c7e
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1006428d
jmp 0x10064270
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
lea ecx, [esp + 0xc]
call fcn.10063133
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x100666bf
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d97
cmp eax, 1
jne 0x10066634
mov ecx, edi
call fcn.10063034
lea ecx, [esp + 0x20]
test al, al
jne 0x10066604
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10062f2e
jmp 0x10066613
mov edx, Ordinal_2
call fcn.10062f2e
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x1006666e
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x78], 4
call fcn.10062d97
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x7c]
call fcn.10069a99
mov byte [esp + 0x34], al
cmp dword [esp + 0x18], 0
jne case.0x100638bf.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
jne case.0x100638bf.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, edi
call fcn.10062d97
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp case.0x100638bf.1
cmp esi, 0x1a
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
test eax, eax
jne 0x100666da
push 0x34
jmp 0x10063783
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x80], 4
call fcn.10062d97
mov dword [esp + 0x84], eax
lea edx, [esp + 0x80]
lea ecx, [esp + 0x84]
jmp 0x10065b3d
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x100638bf.61
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069af8
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
cmp eax, 1
jne 0x10063c80
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10066786
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10066794
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10063c80
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066900
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
cmp esi, eax
je 0x100667da
push 0x35
jmp 0x10063783
cmp esi, 1
je 0x100664cd
cmp dword [esp + 0x54], 0x668
jne 0x100668fa
cmp dword [esp + 0x14], 0
je 0x10066803
cmp dword [esp + 0x18], 0
jne 0x100668fa
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10062f42
test al, al
je 0x10066831
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x10066831
cmp esi, 4
jb 0x10066831
cmp esi, 8
jne 0x100668fa
push 0x8000000
jmp 0x1006685c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069aa1
test al, al
jne 0x100668fa
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10069af8
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100631f2
push 0x90
lea ecx, [esp + 0x10]
call fcn.100631fd
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632b2
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.100631b6
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10063290
test al, al
jne 0x10067335
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069aa7
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10063190
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100632d1
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.1006337d
jmp 0x10063a6f
push esi
jmp 0x10064ec6
cmp esi, 0xa
jne case.default.0x100638bf
jmp 0x10066545
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006695a
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069aa1
test al, al
je case.0x100638bf.63
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x1006419f
cmp esi, 0x11
je 0x10063fbc
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x1006409d
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066a29
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x10066a7c
test edx, edx
jne case.default.0x100638bf
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.10063208
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d1e0]
lea ecx, [esp + 0x20]
push eax
call fcn.10069aa7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0xc]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], cl
inc dword [esp + 0x1c]
jmp case.0x100638bf.0
cmp esi, 2
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.100631dc
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.100631f2
jmp 0x10063c7e
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x10066a78
cmp esi, edx
jne 0x10066a29
mov ecx, edi
call fcn.10062d9c
mov edx, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xc]
shr eax, 0xa
movzx eax, al
add eax, 0x36000
add eax, edx
mov dword [esp + 0xc], eax
jmp case.0x100638bf.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10066b30
mov ecx, edi
mov ebx, edi
call fcn.10062d97
mov esi, dword [esp + 0x48]
cmp eax, 4
jne 0x10066ac8
push 0x1000
mov ecx, esi
call fcn.10063164
test al, al
jne 0x10063c80
mov ecx, edi
call fcn.10062d97
cmp eax, 8
jne 0x10066aeb
push 0x2000
mov ecx, esi
call fcn.10063164
test al, al
je 0x10066aeb
push 4
jmp 0x100648c9
mov ecx, edi
call fcn.10062d97
cmp eax, 0xa
jne case.default.0x100638bf
push 0x800
mov ecx, esi
call fcn.10063164
test al, al
je case.default.0x100638bf
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
lea ecx, [esp + 0xc]
call fcn.10063133
jmp 0x10063fc3
cmp esi, edx
jne case.default.0x100638bf
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10066b54
mov ecx, edi
call fcn.10062d9c
add eax, 0x364c0
jmp 0x100669d8
cmp eax, 0xec
jne 0x10066b6c
mov ecx, edi
call fcn.10062d9c
add eax, 0x374d0
jmp 0x100669d8
cmp eax, 0xef
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
add eax, 0x374d8
jmp 0x100669d8
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100638bf
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, edi
mov ebx, edi
call fcn.10062d97
mov esi, dword [esp + 0x48]
cmp eax, 2
jne 0x10066bc8
push 0x800
mov ecx, esi
call fcn.10063164
test al, al
jne 0x10066ae4
mov ecx, edi
call fcn.10062d97
cmp eax, 4
jne 0x10066be8
push 0x1000
mov ecx, esi
call fcn.10063164
test al, al
jne 0x10063c80
mov ecx, edi
call fcn.10062d97
cmp eax, 8
jne case.default.0x100638bf
push 0x2000
mov ecx, esi
call fcn.10063164
test al, al
je case.default.0x100638bf
mov ecx, dword [esp + 0x40]
call fcn.100632a6
and eax, 0xffff1fff
jmp 0x10066b18
test esi, esi
jne case.0x100638bf.70
push edx
lea ecx, [esp + 0x10]
call fcn.10063190
jmp case.0x100638bf.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
push eax
jmp 0x10066c24
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066c6b
mov ecx, edi
call fcn.10062d9c
test eax, eax
jne case.default.0x100638bf
mov ecx, dword [esp + 0x40]
call fcn.100632a6
jmp 0x100669d8
cmp esi, 2
jne case.default.0x100638bf
jmp 0x10066a51
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066cb9
mov ecx, ebx
call fcn.10063074
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b83
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x100649b6
cmp esi, 0xca
jne case.default.0x100638bf
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, ebx
call fcn.10063074
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b83
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x1006409d
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066d50
mov ecx, ebx
call fcn.10063074
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b83
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x100645fc
cmp esi, 0xca
jne case.default.0x100638bf
jmp 0x10066cd6
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066daa
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069aa1
test al, al
je case.0x100638bf.63
mov eax, dword [esp + 0x40]
cmp byte [eax + 7], 0
je case.0x100638bf.63
mov ecx, eax
jmp 0x10066946
cmp esi, 0x11
je 0x10063fbc
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x10064094
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10066de6
mov ecx, edi
call fcn.10062d97
cmp eax, 1
je case.default.0x100638bf
jmp 0x10065570
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
cmp eax, 1
je case.default.0x100638bf
jmp 0x1006633e
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066ec4
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10063084
test al, al
je 0x10066e78
mov ecx, ebx
call fcn.10063084
test al, al
je 0x10066e78
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069aa1
test al, al
je case.0x100638bf.63
push 0x10
jmp 0x10064196
mov ecx, edi
call fcn.10063074
test al, al
je 0x10066f44
mov ecx, ebx
call fcn.10063074
test al, al
je 0x10066f44
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069aa1
test al, al
je case.0x100638bf.63
push 0x2001d6
jmp 0x1006694c
cmp esi, 0x11
jne 0x10066f04
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10063084
test al, al
je 0x10066ef2
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x10063c80
mov ecx, edi
call fcn.10063074
test al, al
je 0x10066f44
push 0x40017e
jmp 0x10066ee4
cmp esi, 0xa
jne 0x10066f44
mov ecx, ebx
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063084
test al, al
je 0x10066f32
push 0x17f
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x10063c7e
mov ecx, ebx
call fcn.10063074
test al, al
je 0x10066f44
push 0x2001d6
jmp 0x10066f24
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x48], eax
call fcn.100631fd
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, 0x200000
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x10000161
cmove ecx, edx
or dword [esp + 0xc], ecx
cmp esi, 9
jne 0x10066f90
mov ecx, ebx
call fcn.10062db6
test al, al
je 0x10066f99
jmp 0x100649c1
cmp esi, 0x11
je 0x10063c80
push dword [esp + 0x44]
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
mov ecx, ebx
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063074
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b83
cmp esi, 9
jne 0x10063e1e
mov ecx, edi
call fcn.10062db6
jmp 0x10063f57
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10067006
xor edx, edx
mov ecx, eax
call fcn.100630f7
test al, al
je case.default.0x100638bf
and esi, 0x3f
jmp case.0x100638bf.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10067006
push 7
pop edx
mov ecx, eax
call fcn.10063237
jmp 0x10066ffe
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x10067039
mov edx, dword [esp + 0x44]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, edx
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10063fa4
cmp esi, 0x11
jne case.default.0x100638bf
mov eax, dword [edi + 4]
jmp 0x10063fc3
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100670b0
mov ecx, edi
call fcn.10063074
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10063074
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069b92
mov ecx, edi
call fcn.10062d9c
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10064ca9
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, edi
call fcn.10063074
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b83
jmp 0x10063fbc
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100649b6
cmp esi, 0x11
je 0x10063fbc
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
lea ecx, [esp + 0xc]
call fcn.10063133
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10063ddb
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006707a
cmp esi, 0x11
je 0x100670b9
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
lea ecx, [esp + 0xc]
call fcn.10063133
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x100638bf
mov ecx, edi
call fcn.10063074
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b83
jmp 0x1006710e
mov ebx, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
or eax, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
je 0x100649b6
cmp esi, 0xd1
jmp 0x10063fb6
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
je 0x1006707a
cmp esi, 0xd1
jmp 0x100670b3
mov ecx, dword [ebp + 0xc]
call fcn.10062d9c
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x100638bf.63
cmp esi, 0xd9
jne case.default.0x100638bf
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.10063133
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
movzx eax, al
cdq
mov ecx, eax
mov byte [esp + 0x34], 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.0x100638bf.63
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [edi + 4]
and ecx, 7
shl ecx, 9
add ecx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp ecx, 9
je case.0x100638bf.63
cmp ecx, 0x6c9
jne case.default.0x100638bf
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, dword [ebp + 0x18]
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
mov ecx, dword [ebp + 0x14]
jmp 0x1006725a
mov edi, dword [ebp + 0xc]
and dword [esp + 0x2c], 0
movzx eax, cl
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
mov dword [esp + 0xc], 0x10f
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
cmp esi, 9
je 0x100649c1
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10063ab0
jmp 0x10063c84
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x10063788
mov esi, ecx
mov eax, ecx
shr esi, 6
and eax, 0x600000
and esi, 0x1800000
and ecx, 0x1f00
or esi, eax
mov eax, dword [esp + 0x20]
shr esi, 5
or esi, ecx
shr eax, 0xa
shr esi, 8
test dl, al
je 0x1006738e
push 0x18
lea ecx, [esp + 0x10]
call fcn.10063211
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10069ac6
jmp case.0x100638bf.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069ab9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp case.0x100638bf.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067453
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10062db6
test al, al
je 0x10067409
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp case.0x100638bf.93
mov ecx, edi
call fcn.10062db6
test al, al
je 0x10067420
mov ecx, dword [esp + 0x40]
call fcn.100632a6
inc eax
jmp 0x100673fa
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069aa1
test al, al
je case.0x100638bf.93
push 1
lea ecx, [esp + 0x10]
call fcn.10063190
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.10039576
jmp case.0x100638bf.93
cmp esi, 0x11
jne 0x10067464
mov ecx, edi
call fcn.10062d9c
jmp 0x1006850e
cmp esi, 0xa
jne case.default.0x100638bf
push edx
lea ecx, [esp + 0x10]
call fcn.10063190
jmp 0x10068505
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10062d62
mov ecx, eax
call fcn.10063044
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069b74
jmp case.0x100638bf.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x100638bf
mov ebx, edi
jmp 0x10068512
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10067f9c
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d97
mov ecx, eax
call fcn.1006327a
mov ecx, edi
mov dword [esp + 0x88], eax
call fcn.1006326a
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x8c]
call fcn.10069a91
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp 0x10068505
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x100638bf.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x34], 1
jmp case.0x100638bf.93
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x14]
or eax, dword [edi + 8]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
jne 0x100675e3
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x100693f5
cmp esi, 0xca
jmp 0x100684ff
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x10067608
push 7
pop edx
mov ecx, eax
call fcn.10063237
test al, al
je case.default.0x100638bf
and esi, 0x3f
jmp case.0x100638bf.103
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x44]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x100638bf.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10067661
mov ecx, ebx
call fcn.10062d97
mov ecx, eax
call fcn.1006327a
push eax
jmp 0x10067676
mov ecx, edi
call fcn.10062d97
cmp eax, 0x20
jne case.0x100638bf.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp case.0x100638bf.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x100638bf.106
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062db6
test al, al
je case.0x100638bf.106
mov ecx, edi
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
or esi, eax
mov ecx, esi
call fcn.1006327a
mov ecx, dword [esp + 0x40]
mov esi, eax
call fcn.100632a6
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.100631dc
mov ecx, edi
call fcn.10062d9c
jmp 0x100693ea
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067709
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100693f5
cmp esi, 0x11
jne case.default.0x100638bf
mov eax, dword [edi + 4]
jmp 0x1006850e
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov ecx, eax
call fcn.1006327a
mov ecx, ebx
mov dword [esp + 0x90], eax
call fcn.1006326a
mov dword [esp + 0x94], eax
lea edx, [esp + 0x90]
lea ecx, [esp + 0x94]
call fcn.10069a91
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp 0x10067458
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x3c], ecx
lea esi, [eax + 0x20]
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10062dc5
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10062dc5
test al, al
je case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
call fcn.10062dc5
test al, al
je case.default.0x100638bf
mov ecx, dword [ebp + 0x18]
call fcn.10062dc5
test al, al
je case.default.0x100638bf
mov ecx, dword [esp + 0x3c]
call fcn.10062dc5
test al, al
je case.default.0x100638bf
mov ecx, esi
call fcn.10062d78
test al, al
je case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10062d9c
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10062d9c
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
call fcn.10062d9c
mov edx, eax
test bl, 3
jne 0x1006783c
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x1006783c
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x1006783c
lea eax, [ebx + 3]
cmp edx, eax
jne 0x1006783c
mov ecx, edi
call fcn.10062d9c
mov edx, ebx
mov ecx, eax
call fcn.10063263
mov ebx, dword [esp + 0x24]
jmp 0x1006850e
push 0x3c
jmp 0x100643b1
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x44]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jmp case.0x100638bf.111
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
je 0x100676fa
cmp esi, 0xd1
jne case.default.0x100638bf
jmp 0x10067458
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x100638bf.115
push 2
pop edx
mov ecx, eax
call fcn.10062dd5
test al, al
je case.default.0x100638bf
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
xor eax, eax
cmp byte [edx + 3], 8
cmove eax, dword [esp + 0x44]
or ecx, eax
or dword [esp + 0xc], ecx
jmp 0x10067958
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a60
cmp esi, 0x89
jne case.default.0x100638bf
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x1006850e
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
test al, 1
jne 0x10067a09
mov ecx, edi
call fcn.10062d9c
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10062d9c
cmp esi, eax
jne 0x10067a09
mov ecx, dword [ebp + 0x14]
call fcn.10062d97
mov ecx, eax
call fcn.1006327a
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d6b
mov ecx, ebx
test al, al
jne 0x100693f0
call fcn.10062d78
test al, al
je case.default.0x100638bf
jmp 0x10068512
push 0x1d
jmp 0x100643b1
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
and dword [esp + 0x2c], 0
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and ecx, 7
shl eax, 4
shl ecx, 9
add ecx, esi
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp ecx, 0x249
jne 0x10067a78
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 0x100693f5
cmp ecx, 0x289
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ebx, dword [ebp + 0x14]
jmp 0x1006850e
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
jmp case.0x100638bf.122
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x2c], ecx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
xor eax, eax
or eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov al, dl
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x50]
cmp eax, 0x649
je 0x10067a60
cmp eax, 0x689
jmp 0x10067a7e
mov ecx, dword [ebp + 0xc]
call fcn.10063044
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10063044
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069ba0
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100693d0
cmp esi, 0x51
jne case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
jmp 0x1006850e
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x100638bf.128
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
mov ecx, eax
call fcn.1006327a
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.1006326a
mov dword [esp + 0x9c], eax
lea edx, [esp + 0x98]
lea ecx, [esp + 0x9c]
jmp 0x10067757
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d97
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10062d97
or esi, eax
mov ecx, esi
call fcn.1006327a
mov ecx, ebx
mov dword [esp + 0xa0], eax
call fcn.1006326a
lea edx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0xa4]
call fcn.10069a91
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp 0x10067b8a
mov ecx, dword [ebp + 0x18]
call fcn.10062d65
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], edx
cmp eax, 0x649
je 0x100693d0
cmp eax, 0x651
jmp 0x10067b84
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067d40
mov ecx, edi
call fcn.10062db6
test al, al
je 0x10067cec
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
mov ecx, edi
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0d
mov ecx, ebx
call fcn.10062d9c
mov ecx, edi
jmp 0x100693ec
mov ecx, ebx
call fcn.10062db6
test al, al
je 0x10067d0d
mov ecx, ebx
call fcn.10062d97
push eax
lea ecx, [esp + 0x10]
call fcn.10069b0d
jmp 0x100676cb
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10063208
test eax, eax
je 0x10067d73
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100631f2
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp 0x100676cb
cmp esi, 0x11
jne 0x10067d77
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10063208
test eax, eax
je 0x10067458
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100631f2
push 0x40017e
jmp 0x1006775d
mov eax, dword [esp + 0x40]
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
cmp esi, 0xa
jne case.default.0x100638bf
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.10063208
test eax, eax
je 0x10068505
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100631f2
push 0x2001d6
jmp 0x1006752c
mov ecx, dword [ebp + 0xc]
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
or esi, eax
mov ecx, esi
call fcn.1006327a
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x100676cb
cmp esi, 0x11
je 0x10067458
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
jmp 0x100684fc
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10067e93
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069aa1
test al, al
je case.0x100638bf.93
lea ecx, [esp + 0xc]
call fcn.1006319b
mov ecx, ebx
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ecx, dword [ebp + 0x14]
jmp 0x100693ec
cmp esi, 0x51
je 0x10067b8a
cmp esi, 0x89
jne case.default.0x100638bf
lea ecx, [esp + 0xc]
call fcn.1006319b
jmp 0x10067a84
mov ecx, dword [ebp + 0xc]
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
or esi, eax
mov ecx, esi
call fcn.1006327a
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067e72
cmp esi, 0x89
je 0x10067a84
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
mov ecx, dword [ebp + 0x14]
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
jne 0x100678c2
jmp 0x100676cb
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067e2a
cmp esi, 0x51
je 0x10067b8a
cmp esi, 0x89
je 0x10067ea8
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x10067f0d
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067e72
cmp esi, 0x89
je 0x10067a84
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
cmp esi, 9
je 0x10067cde
jmp 0x100684fc
mov ecx, dword [ebp + 0xc]
call fcn.10062d97
mov ecx, ebx
mov esi, eax
call fcn.10062d97
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009d650]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a60
cmp esi, 0x89
je 0x10067a84
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
cmp esi, 0x4a
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
jmp 0x1006850c
mov eax, dword [ebx]
xor ecx, ecx
and al, 7
cmp al, 2
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0x24], ecx
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a60
cmp esi, 0x89
je 0x10067a84
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.100631f2
mov ecx, dword [esp + 0x40]
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
lea ecx, [esp + 0xc]
call fcn.10063133
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062d62
mov ecx, eax
call fcn.10062e5e
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp esi, 0xc9
jne 0x100680e4
mov ecx, edi
call fcn.10062d9c
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100693e5
cmp esi, 0xd1
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067b9f
mov edi, dword [ebp + 0xc]
mov ecx, 0xff000fff
xor edx, edx
mov eax, dword [edi]
and eax, ecx
cmp eax, 0x8000039
mov eax, dword [ebx]
cmove edx, dword [esp + 0x44]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [esp + 0x44]
or edx, ecx
or edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006814b
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10067701
cmp esi, 0x11
jmp 0x100680ea
cmp esi, 0xd1
jne case.0x100638bf.146
lea ecx, [esp + 0xc]
call fcn.100631a4
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov edi, dword [ebp + 0xc]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 1
jmp 0x100681c6
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x100681b0
mov ecx, ebx
call fcn.10062d97
cmp eax, 8
je 0x100681b0
xor eax, eax
jmp 0x100681b4
mov eax, dword [esp + 0x44]
or dword [esp + 0xc], eax
xor eax, eax
mov edx, dword [ebp + 0x14]
or eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov al, 4
mov ecx, dword [edx + 0xc]
mov byte [esp + 0x34], al
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], ecx
cmp esi, 0xc9
je 0x1006813c
cmp esi, 0xd1
jne case.default.0x100638bf
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x10068512
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.10062d97
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009d650]
or dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, dword [esp + 0x3c]
cmp eax, 0x249
jne 0x10068258
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
shl eax, 4
and dword [esp + 0x2c], 0
jmp 0x1006757c
cmp eax, 0x449
jne 0x100682ab
lea ecx, [esp + 0xc]
call fcn.1006319b
mov ecx, ebx
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10062d9c
shl eax, 4
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10068512
cmp eax, 0x289
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x10068287
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
lea eax, [ecx + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
and eax, 7
cmp al, 3
jne case.default.0x100638bf
call fcn.10062d65
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x58], eax
call fcn.10062d97
mov ecx, edi
mov esi, eax
call fcn.10062d97
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.10062d97
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.10062d97
or eax, esi
mov ecx, eax
call fcn.1006327a
push eax
lea ecx, [esp + 0x10]
call fcn.100631fd
mov ecx, dword [esp + 0x50]
call fcn.10062d62
mov ecx, eax
call fcn.10069a88
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 + 0x38], eax
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x58]
cmp eax, 0x249
jne 0x100683ae
mov ecx, ebx
call fcn.10062d9c
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10062d9c
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x100638bf.93
cmp eax, 0x449
jne 0x100683f2
lea ecx, [esp + 0xc]
call fcn.1006319b
mov ecx, ebx
call fcn.10062d9c
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10062d9c
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x10068512
cmp eax, 0x289
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x100683dd
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067a60
cmp esi, 0x11
je 0x10067458
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, eax
call fcn.100632a6
push eax
lea ecx, [esp + 0x10]
call fcn.100631dc
jmp 0x10068505
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx + 3]
movzx ecx, byte [edi + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x1009d650]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x10068258
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
shr eax, 8
test dl, al
jne 0x100684c6
lea ecx, [esp + 0xc]
call fcn.1006319b
mov ecx, dword [ebp + 0x18]
call fcn.10062d9c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10062d9c
jmp 0x1006824b
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
mov ecx, dword [ebp + 0x18]
jmp 0x100684b8
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x100638bf
mov ecx, edi
call fcn.10062d9c
mov dword [esp + 0x14], eax
jmp case.0x100638bf.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x100678c8
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x100638bf
mov ecx, ebx
call fcn.10062d9c
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10062d65
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e1f
mov ecx, ebx
movzx eax, byte [eax + 0x1009d248]
mov dword [esp + 0x44], eax
call fcn.10062d62
mov ecx, eax
call fcn.10063133
push eax
lea ecx, [esp + 0x20]
call fcn.10063329
lea ecx, [esp + 0x1c]
call fcn.10062e75
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.10063157
test dword [esp + 0x44], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069ad4
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e01
test al, al
je 0x1006859a
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e0f
test al, al
je 0x100685c0
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e2a
mov dword [esp + 0x24], eax
jmp 0x100685c5
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10063144
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10062d9c
mov edx, dword [esp + 0x24]
mov ecx, edx
push dword [esp + 0x20]
shl esi, 4
and ecx, 0x10
or eax, esi
and edx, 8
mov esi, dword [esp + 0x18]
add eax, eax
or eax, ecx
and esi, 0xf98
shl eax, 0xb
lea ecx, [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x1c]
add esi, esi
and eax, 8
or esi, edx
add esi, esi
or esi, eax
shl esi, 2
call fcn.100631c6
mov ecx, dword [esp + 0x48]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x40], eax
call fcn.10062e75
mov ecx, eax
call fcn.10062f1f
mov edx, 0x400000
mov ecx, eax
call fcn.1006315b
mov esi, dword [esp + 0x40]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x40], esi
call fcn.10062f24
mov edx, 0x80000
mov ecx, eax
call fcn.10062f24
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10069aa1
test al, al
je 0x100686b8
mov edx, 0x80000
mov ecx, 0x40000
call fcn.10062f24
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069aa1
test al, al
jne 0x100694a5
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.10062f29
or esi, eax
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x48]
call fcn.10063178
test al, al
je 0x100686f2
test esi, 0x80df8110
jne 0x100686fe
mov edx, 0x400
mov ecx, 0x800
call fcn.10062f24
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069aa1
test al, al
jne 0x100686f2
or esi, 0x10
mov dword [esp + 0x40], esi
test esi, 0x80df8110
je 0x10068872
push 4
lea ecx, [esp + 0x10]
call fcn.10063219
mov edx, dword [esp + 0x40]
mov esi, eax
mov ecx, edx
and esi, 0x800000
and ecx, 0x8000
shl ecx, 4
or ecx, edx
and edx, 0x100
and ecx, 0xffff78ef
shl ecx, 4
or ecx, edx
shl ecx, 4
or esi, ecx
lea ecx, [esp + 0xc]
push 5
call fcn.10063219
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x3c], eax
test eax, 0x10000000
je 0x10068823
mov ecx, dword [esp + 0x48]
call fcn.10063186
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.10062d62
mov ecx, eax
call fcn.1006314e
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x1006881c
mov esi, dword [esp + 0x3c]
mov ecx, edx
mov eax, esi
mov dword [esp + 0xa8], 4
and eax, 0x60000000
mov dword [esp + 0xb4], eax
call fcn.10069bf2
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xac]
call fcn.10069a91
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0xb0], eax
cmp eax, 0x40000000
ja 0x1006881c
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xb4]
call fcn.10069a91
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.100631f2
mov ecx, dword [esp + 0x50]
call fcn.10069bf2
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.100631fd
jmp 0x10068863
push 0x29
jmp 0x100691d7
push 0x19
lea ecx, [esp + 0x10]
call fcn.10063219
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.10063219
mov ecx, dword [esp + 0x3c]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009d118]
lea ecx, [esp + 0x10]
call fcn.10063190
mov esi, dword [esp + 0x3c]
push esi
lea ecx, [esp + 0x20]
call fcn.10069ac6
jmp 0x1006891c
push 0xd
lea ecx, [esp + 0x10]
call fcn.10063219
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.10063219
mov ecx, dword [esp + 0x40]
and eax, 0x8000
shr ecx, 0xb
and ecx, 0x400
or eax, ecx
mov ecx, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x40]
or esi, eax
call fcn.1006329a
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.100631f2
test esi, 0x8000807e
je 0x100688f8
push 0x18
lea ecx, [esp + 0x10]
call fcn.10063211
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d1e8]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10069ac6
jmp 0x10068929
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069ab9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, dword [esp + 0x48]
push 0x100000
call fcn.10063164
test al, al
jne 0x10068fde
mov eax, dword [esp + 0x44]
test al, 0x42
jne 0x10068ed7
test al, 1
je 0x10068ae2
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10063285
pop ecx
mov ecx, dword [esp + 0x48]
mov esi, eax
call fcn.10063170
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x100689fd
test al, al
jne 0x100689fd
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x100689a7
test ebx, ebx
jne 0x100689a7
push esi
jmp 0x10068a2c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063208
mov ecx, eax
mov eax, ebx
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.10069bae
test al, al
je 0x100689e7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp ebx, eax
jne 0x100689e7
lea eax, [esi + 0x40]
jmp 0x10068a91
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push ebx
jmp 0x10068ec9
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x10068a3a
cmp dword [esp + 0x54], 0
jne 0x10068a3a
push esi
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x100668e0
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063208
mov ecx, eax
mov eax, dword [esp + 0x54]
shr ecx, 0xd
sar eax, cl
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.10069bae
test al, al
je 0x10068ab1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x10068ab1
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10069ab9
jmp 0x100668e0
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x54]
jmp 0x10068ec9
test al, 0x30
jne 0x10068e21
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10063110
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10062f3c
test al, al
je 0x10068b36
cmp esi, 2
je 0x10065bd5
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063285
jmp 0x10068e0d
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], esi
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.10062f38
mov ecx, eax
call fcn.10062ee3
mov ecx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x10068c3f
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10068c04
cmp dword [esp + 0x3c], esi
je 0x10068de8
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x10068c48
mov ebx, dword [esp + 0x58]
mov al, byte [ebx]
cmp al, 0x67
je 0x10068de8
cmp dword [esp + 0x54], 0x17e
jne 0x10068ddc
movzx eax, al
test al, 0x40
je 0x10068de8
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x10068de8
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10069aa1
test al, al
jne 0x10068de8
push ebx
lea ecx, [esp + 0x20]
call fcn.10062ffd
jmp 0x10068de8
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10063133
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10068c30
cmp dword [esp + 0x3c], esi
je 0x10068c2b
cmp dword [esp + 0x48], 0
jne 0x10068c30
xor eax, eax
inc eax
jmp 0x10068c32
xor al, al
cmp ecx, 5
jae 0x10068d1d
test al, al
jmp 0x10068c42
cmp eax, 2
jne 0x10068d1d
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.10062fd8
mov ecx, eax
mov eax, esi
cdq
add ecx, eax
push 0
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x48]
pop eax
adc eax, edx
and ecx, dword [esp + 0x40]
mov dword [esp + 0x38], eax
cmp ecx, 0xffffffff
je 0x10068d3a
mov ecx, dword [edi + 0x68]
call fcn.10062e75
test eax, eax
jne 0x10068d3a
mov ecx, dword [edi + 0x68]
call fcn.10062e78
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x50]
mov ecx, ebx
adc edi, dword [esp + 0x38]
add esi, dword [esp + 0x44]
adc edi, dword [esp + 0x40]
add esi, 5
adc edi, 0
call fcn.10062d62
mov ecx, eax
call fcn.10062e43
sub eax, esi
mov dword [esp + 0x50], eax
sbb edx, edi
push edx
push eax
call fcn.10069a65
pop ecx
pop ecx
test al, al
je 0x10068cff
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.10069ac6
jmp 0x10063a56
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10063119
mov edi, dword [esp + 0x10]
test al, al
jne 0x10065bd5
mov esi, dword [esp + 0x64]
cmp dword [esp + 0x3c], esi
je 0x10068de8
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10068ba8
push 0x2e
jmp 0x100691d7
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.1006a762
test eax, eax
jne 0x10063788
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, dword [edi + 0x68]
call fcn.10062e75
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062f6b
mov ecx, dword [esp + 0x4c]
push 4
push 0
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.10062e84
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.10062fd8
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062ea9
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e43
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10069bbd
jmp 0x100668e0
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10069bc8
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push dword [esp + 0x24]
jmp 0x10068ec9
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, edi
call fcn.10062f3c
test al, al
jne 0x10069176
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
test byte [esp + 0x44], 0x10
mov esi, eax
je 0x10068ec8
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062eea
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100691d5
mov eax, dword [esp + 0x38]
push 0xfffffffffffffffc
movzx eax, al
pop ecx
sub ecx, eax
lea eax, [edi + 0x68]
push dword [eax]
add esi, ecx
mov dword [esp + 0x4c], eax
mov ecx, ebx
mov dword [esp + 0x40], esi
call fcn.10062ecb
test al, al
je 0x100651aa
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10062fd8
mov ecx, ebx
sub esi, eax
call fcn.10062ed8
add eax, esi
push eax
jmp 0x10068ec9
push esi
lea ecx, [esp + 0x20]
call fcn.10069ac6
jmp 0x100668e0
test al, 0x40
jne 0x10068eef
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x10068fee
push 0x2c
jmp 0x100691d7
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
movsx edx, ax
mov eax, dword [esp + 0x44]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x3c], edx
mov dword [esp + 0x64], ecx
je 0x10068fb3
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
and ecx, 7
and esi, 7
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x64], 3
jne 0x10068f57
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.1006313c
test eax, eax
jne 0x10065bd5
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov al, byte [esi + eax*8 + 0x1009d690]
jmp 0x10068f67
test al, 2
je 0x10068f61
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009d198]
movzx ecx, al
cmp ecx, 0xff
je 0x10065bd5
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x10068f8a
cmp esi, 6
jne 0x100689a1
mov ecx, edx
call fcn.10069bae
lea ecx, [esp + 0x1c]
test al, al
je 0x10068fab
lea eax, [esi + 0x40]
push eax
call fcn.10069ab9
push dword [esp + 0x3c]
jmp 0x10068a2c
lea eax, [esi + 0x80]
jmp 0x10068fc6
test al, 0x30
jne 0x10065bd5
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10069ab9
push dword [esp + 0x3c]
lea ecx, [esp + 0x20]
call fcn.10069be2
jmp 0x100668e0
mov eax, dword [esp + 0x44]
test al, 2
je 0x10063ab0
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x100690d8
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x40], eax
call fcn.10063285
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10062d62
mov ecx, eax
call fcn.1006313c
mov edx, esi
mov ecx, eax
call fcn.10063285
mov esi, dword [esp + 0x40]
mov ebx, eax
mov dword [esp + 0x5c], ebx
pop ecx
test esi, esi
jne 0x10069067
cmp dword [esp + 0x18], 5
je 0x10069067
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push eax
call fcn.10069ab9
push ebx
jmp 0x10068a2c
push 0xe000
lea ecx, [esp + 0x10]
call fcn.10063208
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10069bae
test al, al
je 0x100690ba
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x3c]
shl eax, cl
cmp ebx, eax
jne 0x100690be
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10069ab9
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x100689a1
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10069ab9
push dword [esp + 0x58]
jmp 0x100689ee
test al, 0x30
jne 0x1006912b
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push 5
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.1006313c
mov edx, esi
mov ecx, eax
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
jmp 0x10068ec5
mov ecx, edi
call fcn.10062f3c
test al, al
je 0x10065bd5
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
push 5
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.1006313c
mov edx, esi
mov ecx, eax
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov ecx, dword [edi + 0x2c]
push 1
call fcn.10062edf
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10069a22
test eax, eax
jne 0x100693b7
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062e5a
test byte [esp + 0x44], 0x10
mov dword [esp + 0x58], eax
je 0x10069311
mov ecx, ebx
call fcn.10062d62
mov ecx, eax
call fcn.10062d9c
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10062eea
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x100691dd
push 0xc
pop ecx
jmp 0x100693ba
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a762
test eax, eax
jne 0x10063788
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x48], eax
call fcn.10062e75
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10062f6b
mov ecx, dword [esp + 0x4c]
push 4
pop ebx
push ebx
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x50]
push 1
lea ecx, [ecx + 8]
call fcn.10062e84
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
movzx eax, al
push eax
push dword [edi + 0x74]
mov dword [esp + 0x6c], eax
call fcn.10062fd8
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062ea9
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x58]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov ecx, esi
call fcn.10062ec3
test al, al
je 0x1006929b
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.10062ed8
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10062ebf
mov ecx, eax
call fcn.10062e75
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x10068dcc
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.10062fd8
push ebx
push 0
lea ecx, [esp + 0xd8]
mov esi, eax
call fcn.10062e84
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x40]
mov ecx, dword [ecx]
push esi
call fcn.10062e75
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.1006a385
mov esi, eax
test esi, esi
je 0x100693b7
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x10069302
call fcn.10062e75
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10062fe1
jmp 0x100668e0
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006a762
test eax, eax
jne 0x10063788
mov ecx, dword [edi + 0x68]
call fcn.10062e75
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10062e75
mov ecx, dword [esp + 0x4c]
push 4
push 1
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + 8]
call fcn.10062e84
mov ecx, dword [esp + 0x38]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.10062fd8
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.10062ea9
mov ecx, edi
call fcn.10062f6b
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], ebx
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + 8]
call fcn.10062e7f
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x58]
cdq
push ebx
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
add eax, esi
mov dword [ecx + 0x20], eax
adc edx, ebx
mov dword [ecx + 0x24], edx
jmp 0x10068dce
xor ecx, ecx
inc ecx
call fcn.10062d62
jmp 0x10063788
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x100638bf
mov ecx, dword [ebp + 0x14]
call fcn.10062d9c
mov ecx, edi
mov esi, eax
call fcn.10062d9c
mov edx, esi
mov ecx, eax
call fcn.10063263
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10062d9c
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
and eax, 0xf98
push 7
mov esi, dword [edi + 0x4c]
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x1c]
and eax, 0x18
shl esi, 2
or esi, eax
mov eax, ecx
and eax, 0x1000
shl esi, 2
or eax, dword [esp + 0x10]
shr eax, 8
and eax, 0x60001f
pop ebx
and dword [esp + 0x14], ebx
or esi, eax
test ecx, 0x8c0000
je 0x100694b8
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x100694b8
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
je 0x10069471
mov ecx, dword [esp + 0x48]
call fcn.1006317e
test al, al
jne 0x100694a5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 4]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x1006949d
shr edx, 2
test dl, 1
je 0x100694a5
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x100694b2
shr edx, 3
test dl, 1
jne 0x100694ac
push 0x2a
jmp 0x10067337
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x48]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x100694d8
test ecx, esi
jne 0x100694e0
test dword [esp + 0x20], 0xc00
jne 0x100694d8
or esi, 0x10
test ecx, esi
je 0x10069573
mov eax, dword [esp + 0xc]
mov edx, esi
and edx, 0x8000
mov ecx, eax
and eax, dword [esp + 0x44]
shl edx, 4
or edx, esi
shr ecx, 1
and edx, 0xffff78ef
and ecx, 0x8300000
shl edx, 4
and esi, 0x100
or edx, esi
or ecx, eax
shl edx, 4
shr ecx, 4
or edx, ecx
lea ecx, [esp + 0x1c]
xor edx, 0x87cf062
push edx
call fcn.10069ac6
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0xc]
mov byte [ecx], al
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
shl cl, 3
and edx, ebx
sub cl, 0x40
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
add cl, dl
mov byte [eax], cl
inc dword [esp + 0x1c]
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10063343
jmp 0x10063a6f
mov eax, dword [esp + 0xc]
mov edx, eax
shr edx, 1
mov ecx, eax
and ecx, dword [esp + 0x44]
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 0x100695f1
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d1e8]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10069ac6
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x18]
shl cl, 3
and eax, ebx
sub cl, 0x40
mov dword [esp + 0x18], eax
add cl, al
mov eax, dword [esp + 0x1c]
jmp 0x10069553
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069ab9
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069ab9
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
and eax, ebx
push eax
push 3
pop ecx
mov dword [esp + 0x1c], eax
call fcn.10063285
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069ab9
jmp 0x10069559
mov edi, eax
jmp 0x10063ab0