Function at 0x10066746
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 + 0x100a2798]
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 + 0x100a1798]
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 0x10063b34
cmp dword [eax + 0x2c], 0
jne 0x10063928
push 0
push 5
mov ecx, eax
jmp 0x10063a6e
cmp dword [esp + 0x54], 0
je 0x1006991d
push 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.10063246
test eax, eax
jne 0x10063a58
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
test byte [ecx + 0x10], dl
je 0x10063a09
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 0x10063a5c
mov esi, dword [esp + 0x3c]
xor edx, edx
inc edx
mov ecx, edi
mov eax, dword [esp + 0x54]
mov eax, dword [eax*8 + 0x100a2798]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + 0x100a1798]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
shr eax, 0xd
test dl, al
je 0x10063aec
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 0x10063a7c
cmp dword [esp + 0x24], 0
jne 0x10063a83
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.1006fad7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dword [esp + 0x24], 0
je 0x10063ae1
mov eax, dword [esp + 0x20]
shr eax, 0x10
mov dword [esp + 0x24], eax
test dl, al
je 0x10063aa1
mov eax, dword [esp + 0x44]
shr eax, 0x11
test dl, al
jne 0x10063aa1
push 0x22
jmp 0x10063a57
mov eax, dword [esp + 0x20]
shr eax, 0x11
test dl, al
je 0x10063abb
mov eax, dword [esp + 0x44]
shr eax, 0x12
test dl, al
jne 0x10063abb
push 0x23
jmp 0x10063a57
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 0x10063ae5
mov eax, dword [esp + 0x1c]
mov byte [eax], 0xf0
inc dword [esp + 0x1c]
test dword [esp + 0x20], 0xc000
je 0x10063b34
mov eax, dword [esp + 0x44]
shr eax, 0xe
test dl, al
je 0x10063b9a
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10063b1c
shr eax, 8
test al, 0xf
jne 0x10063b9a
cmp dword [ecx + 0x4c], edx
jne 0x10063b9a
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 + 0x100a279e]
and dword [esp + 0x18], 0
mov ecx, dword [eax*4 + 0x100a5b90]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x14], eax
movzx eax, byte [ebx*8 + 0x100a279d]
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.0x10063b93
mov edi, dword [esp + 0x58]
mov dword [esp + 0x44], 0x8000000
jmp dword [edi*4 + 0x10069925]
push 0x24
jmp 0x10063a57
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 + 0x1009d200]
lea ecx, [esp + 0x20]
push eax
call fcn.10069d7b
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 0x10067605
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.100635a5
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 0x10063d2a
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 7
cmp al, 3
jne case.default.0x10063b93
lea ecx, [esp + 0xc]
call fcn.10063481
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x10063b93.63
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063082
mov ecx, dword [esp + 0x10]
movzx eax, al
movzx esi, byte [eax + 0x1009d268]
call fcn.1006342b
test esi, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069da8
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d200]
lea ecx, [esp + 0x20]
push eax
call fcn.10069d7b
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x20]
shr edx, 0x18
cmp edx, 0x80
ja 0x10067605
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.100635a5
push dword [esp + 0x34]
lea ecx, [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10063651
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.100632ea
xor eax, eax
jmp 0x10063a73
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063b93.1
cmp esi, edx
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
test eax, eax
je case.0x10063b93.1
mov edi, dword [esp + 0x10]
push 0x1a
jmp 0x1006760b
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063b93.1
cmp esi, 9
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
cmp eax, 2
jne case.default.0x10063b93
mov ecx, ebx
jmp 0x10063d73
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063b93.1
cmp esi, 2
jne case.default.0x10063b93
xor edx, edx
mov ecx, edi
call fcn.1006350b
test al, al
je case.default.0x10063b93
mov esi, edi
mov ecx, esi
call fcn.10063036
mov ecx, eax
call fcn.100630f3
mov ecx, esi
movzx ebx, byte [eax + 0x1009d268]
call fcn.10063036
mov ecx, eax
call fcn.10063102
test al, al
jne case.default.0x10063b93
test bl, 2
jne case.default.0x10063b93
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063586
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006348a
mov edi, eax
mov ecx, edi
call fcn.10063564
test al, al
jne 0x10067605
and edi, 0x7f
lea ecx, [esp + 0x1c]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.10069d7b
mov ecx, esi
call fcn.10063036
mov ecx, eax
call fcn.10063407
push eax
lea ecx, [esp + 0x20]
call fcn.100635fd
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.1006342b
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069da8
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100635a5
xor eax, eax
push eax
push eax
push eax
jmp 0x10066bc0
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne 0x10063eb0
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp case.0x10063b93.1
cmp esi, 0x19
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
mov ecx, ebx
jmp 0x10063e8e
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and al, 7
cmp al, dl
jne case.0x10063b93.11
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
xor edx, edx
inc edx
jmp case.0x10063b93.11
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b89c0]
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.0x10063b93.63
mov ebx, edi
cmp esi, 2
je 0x10063f54
jmp case.default.0x10063b93
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne case.0x10063b93.14
push 2
pop edx
mov ecx, ebx
call fcn.100633b1
test al, al
je case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100633b1
test al, al
je case.default.0x10063b93
mov ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.10063039
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100634dc
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630f3
mov ecx, ebx
movzx eax, byte [eax + 0x1009d268]
mov dword [esp + 0x44], eax
call fcn.10063036
mov ecx, eax
call fcn.10063407
push eax
lea ecx, [esp + 0x20]
call fcn.100635fd
lea ecx, [esp + 0x1c]
call fcn.10063149
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.1006342b
test dword [esp + 0x44], eax
setne cl
movzx ecx, cl
push ecx
lea ecx, [esp + 0x20]
call fcn.10069da8
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063586
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063036
mov ecx, eax
call fcn.100630fe
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.1006348a
mov esi, dword [esp + 0x50]
or esi, eax
mov ecx, esi
call fcn.10063564
test al, al
jne 0x10067609
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069d7b
push dword [esp + 0xc]
and dword [esp + 0x18], 7
lea ecx, [esp + 0x20]
call fcn.100635a5
jmp 0x10068c13
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063b93
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
test esi, esi
je case.0x10063b93.1
push 0x11f
lea ecx, [esp + 0x10]
call fcn.100634b0
and dword [esp + 0x14], 0
cmp esi, 1
jne 0x100640b6
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, edi
jmp 0x10064f7d
cmp esi, 2
jne 0x100640d1
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp 0x10063f52
mov ecx, ebx
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
cmp esi, 9
je 0x100640af
cmp esi, 0xa
jmp 0x10064070
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.100630f3
mov ecx, edi
movzx ebx, byte [eax + 0x1009d268]
call fcn.10063036
mov ecx, eax
call fcn.10063102
test al, al
jne case.default.0x10063b93
test bl, 2
jne case.default.0x10063b93
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063586
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006348a
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.10063564
test al, al
jne 0x10067605
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069d7b
and dword [esp + 0x14], 7
mov ecx, edi
and dword [esp + 0x18], 7
call fcn.10063036
mov ecx, eax
call fcn.10063407
push eax
lea ecx, [esp + 0x20]
call fcn.100635fd
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.1006342b
test ebx, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069da8
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100635a5
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 3
pop ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x10063e7a
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10064238
push 2
pop edx
mov ecx, ebx
call fcn.100633b1
test al, al
je case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.100633b1
test al, al
je case.default.0x10063b93
jmp 0x100640af
cmp esi, edx
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063338
jmp 0x1006422b
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063b93
jmp 0x100640af
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b89c0]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064287
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x10064f82
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x14], eax
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100642f0
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 2
jne 0x100642da
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp case.0x10063b93.63
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069de1
jmp case.0x10063b93.63
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 2
jne 0x10064320
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x10063f54
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069de1
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x100b89c0]
or eax, ecx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064368
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
jmp case.0x10063b93.63
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov dword [esp + 0x14], eax
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10064485
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne 0x10066aa7
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne 0x10064452
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x1006440d
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
push 4
pop ecx
jmp 0x1006441b
mov edx, esi
call fcn.10063202
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064442
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
jmp 0x10064452
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.10063202
add dword [esp + 0x14], 4
mov ecx, dword [esp + 0x20]
mov edx, 0x200
call fcn.10069d75
test al, al
je case.0x10063b93.63
push 2
lea ecx, [esp + 0x10]
call fcn.10063464
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.100395d1
jmp case.0x10063b93.63
cmp esi, 0x11
jne 0x10064504
push 2
lea ecx, [esp + 0x10]
call fcn.10063464
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne 0x10063f54
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100644f0
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x10063f54
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x14], 4
jmp 0x10063f54
cmp esi, 0xa
jne 0x10064575
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, ebx
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne 0x10063f52
mov ecx, ebx
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10064561
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x10063f52
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x14], 4
jmp 0x10063f52
push 0x80
lea ecx, [esp + 0x10]
call fcn.100634b0
cmp esi, 0x19
jne 0x100647a4
mov ecx, edi
call fcn.1006306b
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov ecx, dword [esp + 0x60]
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp ecx, ebx
jne 0x1006460a
mov ecx, edi
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x100645ec
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x100645fb
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x18], 4
mov dl, bl
mov dword [esp + 0x48], edx
mov byte [esp + 0x34], dl
jmp 0x1006470c
push 4
pop eax
cmp ecx, 2
jne 0x10064625
push 0x200000
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp 0x100646bc
cmp ecx, eax
jne 0x10064642
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069df7
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100646bc
cmp ecx, 8
jne 0x100646bf
cmp dword [esp + 0x54], 0x15
jne 0x10064665
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069dfd
mov byte [esp + 0x67], bl
pop ecx
pop ecx
test al, al
jne 0x1006466a
mov byte [esp + 0x5f], 0
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069d39
pop ecx
pop ecx
test al, al
jne 0x10064690
cmp byte [esp + 0x5f], al
jne 0x100646a5
push 0x32
pop ecx
call fcn.10063036
jmp 0x10063a58
cmp byte [esp + 0x5f], 0
je 0x100646ae
mov ecx, dword [esp + 0x10]
push ebx
call fcn.10063232
test al, al
je 0x100646ae
push 4
pop eax
mov dword [esp + 0x60], eax
jmp 0x100646b2
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x10]
call fcn.10069de1
push 4
pop eax
lea edx, [esp + 0x70]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x60]
call fcn.10069d6d
push dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
push dword [esp + 0x2c]
mov byte [esp + 0x3c], al
call fcn.10069d13
pop ecx
pop ecx
test al, al
je 0x10064708
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
mov edx, dword [esp + 0x48]
test al, al
movzx edx, dl
cmove edx, ebx
jmp 0x100645fd
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x18], 0
jne 0x1006477e
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x1006471f
cmp dl, bl
je 0x10064786
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
jne 0x1006477e
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100634c6
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.100634d1
lea edx, [esp + 0xbc]
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x60]
call fcn.10069d6d
mov byte [esp + 0x34], al
jmp case.0x10063b93.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.10063464
jmp case.0x10063b93.63
cmp esi, 0x1a
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov dword [esp + 0x68], eax
test eax, eax
je 0x100669a7
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.10069d6d
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
cmp dword [esp + 0x68], ebx
jne 0x10064814
push dword [esp + 0x2c]
push esi
call fcn.10069df7
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069d13
pop ecx
pop ecx
test al, al
je 0x1006484c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
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 0x1006484f
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.10063464
push dword [esp + 0x68]
jmp 0x100640c3
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
cmp eax, 1
je case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov edi, dword [esp + 0x10]
jmp 0x10066b47
mov edi, dword [ebp + 0xc]
mov ecx, ebx
cmp esi, 9
jne 0x100648e0
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, ebx
call fcn.10063070
mov dword [esp + 0x14], eax
jmp 0x100640af
cmp esi, 0xa
jne 0x100648f9
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp 0x10064371
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
lea ecx, [esp + 0xc]
call fcn.10063407
mov dword [esp + 0x14], eax
cmp esi, 0x19
je 0x100640af
cmp esi, 0x1a
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
test eax, eax
je 0x100669a7
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x100640af
mov ebx, edi
cmp esi, 2
je 0x10063f54
push 0xe8
lea ecx, [esp + 0x10]
call fcn.100634b0
and dword [esp + 0x14], 0
jmp 0x100652a8
mov edi, dword [ebp + 0xc]
test esi, 0x1c0
je 0x100649ca
mov ecx, dword [ebp + 0x14]
call fcn.1006308a
test al, al
je case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
and esi, 0x3f
cmp esi, 9
jne 0x10064a89
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne 0x10066aa7
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne case.0x10063b93.63
mov ecx, edi
call fcn.10063308
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x10064a51
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
jmp 0x10064a5d
mov edx, esi
call fcn.10063202
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10066803
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
jmp case.0x10063b93.63
cmp esi, 0xa
jne case.default.0x10063b93
jmp 0x10064509
mov edi, dword [ebp + 0xc]
cmp esi, 0x4a
jne 0x1006406d
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
call fcn.1006303f
test al, al
je case.default.0x10063b93
lea ecx, [ebx + 0x10]
call fcn.1006303f
jmp 0x10063f4a
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 0x10064b5f
mov ecx, ebx
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 1
jne 0x10064b38
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064b21
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10064b2f
add dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp case.0x10063b93.63
mov ecx, ebx
call fcn.1006306b
cmp eax, 2
jne 0x10064b4f
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069d8d
push 1
lea ecx, [esp + 0x10]
call fcn.10063464
jmp case.0x10063b93.63
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
test eax, eax
je 0x100669a7
mov ecx, ebx
call fcn.1006306b
cmp eax, 2
jne 0x10064b8e
push 0x66
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, ebx
call fcn.1006306b
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.10063464
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
cmp esi, 0x1b
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10069d60
mov ecx, ebx
mov di, ax
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
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.0x10063b93.1
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10064c9c
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.10069d13
pop ecx
pop ecx
test al, al
je 0x10064c67
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
je 0x10064c8a
push 2
lea ecx, [esp + 0x10]
call fcn.100634bb
mov ecx, edi
call fcn.1006306b
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x14], eax
mov ecx, ebx
jmp 0x10064f7d
cmp esi, 0xd1
jne 0x10064d5a
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.1006306b
cmp eax, 4
jne 0x10064d07
push dword [esp + 0x2c]
push esi
call fcn.10069df7
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069d13
pop ecx
pop ecx
test al, al
je 0x10064d2e
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
je 0x10064290
push 2
lea ecx, [esp + 0x10]
call fcn.100634bb
mov ecx, edi
call fcn.1006306b
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10064290
cmp esi, 9
jne 0x10064dc1
mov ecx, ebx
call fcn.1006306b
cmp eax, 1
je 0x10064ecd
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne 0x10066aa7
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp case.0x10063b93.63
cmp esi, 0x11
jne 0x10064e05
mov ecx, ebx
call fcn.1006306b
cmp eax, 1
je 0x10064f32
mov ecx, edi
call fcn.10063070
push 0x1af
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp 0x10063f54
cmp esi, 0x19
jne case.0x10063b93.13
push 0x6b
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.1006306b
cmp eax, 4
jne 0x10064e66
push ebx
push esi
call fcn.10069df7
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069d13
pop ecx
pop ecx
test al, al
je 0x10064e89
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
je 0x10064eac
push 2
lea ecx, [esp + 0x10]
call fcn.100634bb
mov ecx, edi
call fcn.1006306b
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov byte [esp + 0x34], al
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x18], eax
jmp 0x1006435f
mov edi, dword [ebp + 0xc]
cmp esi, 7
jbe case.0x10063b93.12
cmp esi, 9
jne 0x10064f2d
xor edx, edx
mov ecx, edi
call fcn.10063398
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.10063328
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10064f19
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x10064a79
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x18], 4
jmp case.0x10063b93.63
cmp esi, 0x11
jne 0x10064f4c
xor edx, edx
mov ecx, edi
call fcn.10063398
mov edi, dword [esp + 0x10]
test al, al
je 0x10063d84
jmp 0x10063f58
cmp esi, 0x49
jne 0x10064f8b
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, dword [ebp + 0x14]
call fcn.10063070
mov dword [esp + 0x18], eax
jmp case.0x10063b93.63
cmp esi, 0x89
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ebx, dword [ebp + 0x14]
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065002
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 1
jne case.0x10063b93.63
mov ecx, edi
jmp 0x10064efa
cmp esi, 2
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
test eax, eax
je 0x100669a7
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
cmp esi, 0x19
jne 0x100650a1
mov ecx, edi
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
call fcn.1006306b
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.1006357a
add eax, esi
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069e11
jmp case.0x10063b93.1
cmp esi, 9
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
cmp eax, 2
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10063464
jmp 0x1006508b
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063b93
push 7
pop edx
mov ecx, edi
call fcn.1006350b
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
cmp eax, 2
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov ebx, eax
test ebx, ebx
je 0x100669a7
xor ecx, ecx
mov esi, edi
cmp ebx, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10063464
push ebx
lea ecx, [esp + 0x10]
call fcn.10069e11
jmp 0x10063dca
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10065002
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 1
jne 0x1006516e
mov eax, dword [edi]
jmp 0x10064afe
mov ecx, dword [esp + 0x10]
call fcn.10063210
test al, al
je 0x10065192
mov ecx, dword [esp + 0x40]
call fcn.1006357a
mov ecx, dword [esp + 0x18]
and ecx, 7
add eax, ecx
jmp 0x10065081
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
jmp case.0x10063b93.63
mov edi, dword [ebp + 0xc]
cmp esi, 3
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063132
jmp 0x10063e9e
push 0x40
mov edx, 0x80
pop ecx
call fcn.100631f8
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069d75
mov edi, dword [ebp + 0xc]
test al, al
je 0x10065217
mov ecx, dword [esp + 0x10]
push 0x10
call fcn.10063232
test al, al
je 0x10065217
mov ecx, dword [esp + 0x20]
push 0x40
pop edx
call fcn.10069d75
shl al, 4
lea ecx, [esp + 0x1c]
add al, 0x2e
mov byte [esp + 0x58], al
push dword [esp + 0x58]
call fcn.10069d8d
mov ebx, edi
jmp 0x10064992
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.1006303f
test al, al
je 0x10065217
xor edx, edx
mov ecx, edi
inc edx
call fcn.100630a9
test al, al
je case.default.0x10063b93
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10063210
test al, al
je 0x10065259
mov ecx, edi
call fcn.1006306b
cmp eax, 2
je 0x10065270
mov ecx, esi
call fcn.10063216
test al, al
je 0x10065274
mov ecx, edi
call fcn.1006306b
cmp eax, 4
jne 0x10065274
mov al, 1
jmp 0x10065276
xor al, al
push eax
lea ecx, [esp + 0x20]
call fcn.10069da8
jmp 0x10064992
mov edi, dword [ebp + 0xc]
cmp esi, edx
je 0x100640af
mov ebx, edi
cmp esi, 2
je 0x10063f54
push 0xe9
jmp 0x10064989
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 0x10067609
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 + 0x100a2578]
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 0x1006549d
call fcn.10063036
mov ecx, dword [edi + 0x2c]
push eax
call fcn.100631d7
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100694a9
lea esi, [edi + 0x68]
mov ecx, ebx
push dword [esi]
mov dword [esp + 0x4c], esi
call fcn.1006319f
test al, al
je 0x100653d8
mov ecx, ebx
call fcn.100631ac
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.10069e82
test al, al
je 0x10065547
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10065547
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
jne 0x10065547
push 0x10
pop edx
lea ecx, [esp + 0x20]
call fcn.10063202
push ebx
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x10063d43
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10065402
cmp dword [esp + 0xc], 0
je 0x10065486
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069d75
test al, al
jne 0x10065486
lea esi, [edi + 0x68]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x48], esi
je 0x10065540
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069d75
test al, al
jne 0x10065540
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.100634dc
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069d7b
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069d7b
mov dword [esp + 0x3c], 0xfffffffc
push 4
pop ebx
jmp 0x1006957a
push ebx
lea ecx, [esp + 0x20]
call fcn.10069d8d
or dword [esp + 0x3c], 0xffffffff
xor ebx, ebx
inc ebx
jmp 0x1006957a
call fcn.10063056
test al, al
je 0x10063d84
mov ecx, edi
call fcn.1006320c
mov ecx, eax
call fcn.100631b7
mov ecx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], edx
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xffffffff
je 0x100655d5
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.1006321e
mov cl, al
call fcn.1006313b
test al, al
jne 0x10065378
push dword [esp + 0x58]
push esi
call fcn.10069d39
pop ecx
pop ecx
test al, al
jne 0x10065378
mov ecx, dword [esp + 0x54]
call fcn.100634f8
test al, al
jne 0x100655d1
push 0x30
jmp 0x100694ab
cmp dword [esp + 0xc], 0
je 0x10065540
mov ecx, dword [esp + 0x20]
push 0x10
pop edx
call fcn.10069d75
test al, al
jne 0x10065540
push 0x10
pop ecx
call fcn.100631f3
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.10063207
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.100634dc
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069d7b
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069d7b
push esi
lea ecx, [esp + 0x20]
call fcn.10069d9a
jmp 0x10063d43
mov esi, dword [esp + 0x3c]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
pop ebx
push ebx
push eax
call fcn.1006aa36
test eax, eax
jne 0x10063a5c
mov ecx, edi
call fcn.1006323f
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.10063149
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 0x1006570a
mov ecx, edi
call fcn.1006321e
mov cl, al
call fcn.10063141
test al, al
je 0x10065680
mov ecx, dword [esp + 0x54]
call fcn.100634f8
test al, al
je 0x10065680
cmp dword [esp + 0x50], 0
jne 0x1006565d
push 0x40
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
push dword [esp + 0x38]
call fcn.1006a550
test eax, eax
jne 0x10063a5c
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x10]
call fcn.100634dc
test eax, eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
push 0xf
call fcn.10069d7b
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov edx, dword [esp + 0x14]
test edx, edx
setne al
movzx eax, al
push eax
push 0
push 3
pop ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10069d7b
mov ecx, dword [esp + 0x4c]
push ebx
xor ebx, ebx
push ebx
lea ecx, [ecx + 8]
call fcn.10063158
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100632ac
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.1006317d
push ebx
lea ecx, [esp + 0x20]
call fcn.10069e91
jmp 0x10063d43
push esi
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
push 1
push ebx
lea ecx, [ecx + 8]
call fcn.10063158
push ebx
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100632ac
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.1006317d
push ebx
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x10063d43
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x1006579f
mov ecx, edi
mov ebx, edi
call fcn.1006306b
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x10065774
mov ecx, edi
call fcn.10063222
mov esi, eax
jmp 0x10065790
sub esi, 2
cmp esi, 2
je 0x10065790
cmp esi, 4
je 0x10065790
mov ecx, edi
call fcn.10063222
cmp esi, eax
jne 0x10065ea9
push esi
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp 0x10063f58
cmp esi, 0x1b
jne case.default.0x10063b93
mov ecx, dword [esp + 0x10]
call fcn.10063210
test al, al
je case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, ebx
mov esi, eax
call fcn.10063036
mov ecx, esi
mov edi, eax
call fcn.10063132
test edx, edx
jg 0x10064683
jl 0x100657e7
cmp eax, 0xffff
ja 0x10064683
mov ecx, edi
call fcn.10063132
test edx, edx
jg 0x10064683
jl 0x10065801
cmp eax, 0xffffffff
ja 0x10064683
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, esi
call fcn.10063132
mov ecx, edi
mov esi, eax
call fcn.10063132
or edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 6
jmp case.0x10063b93.1
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp 0x10064290
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10065a63
mov ecx, edi
call fcn.1006308a
mov ecx, edi
test al, al
je 0x100659f5
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006308a
test al, al
je 0x10065953
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne case.default.0x10063b93
cmp esi, 1
jne 0x10065936
mov ecx, edi
call fcn.10063308
lea ecx, [esp + 0x20]
mov esi, Ordinal_2
mov edi, 0xc0000000
test al, al
jne 0x100658e6
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
jmp 0x100658f2
mov edx, esi
call fcn.10063202
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10065917
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
jmp 0x10065923
mov edx, esi
call fcn.10063202
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x10064452
push 0x89
lea ecx, [esp + 0x10]
call fcn.100634b0
push esi
lea ecx, [esp + 0x10]
call fcn.10069db7
jmp 0x10064452
mov ecx, ebx
call fcn.10063368
test al, al
je 0x10065986
push 0x8c
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
dec dword [esp + 0x14]
jmp case.0x10063b93.63
mov ecx, ebx
call fcn.10063378
test al, al
je 0x100659d3
push 0x120
lea ecx, [esp + 0x10]
call fcn.100634b0
test byte [esp + 0x14], 8
je case.0x10063b93.63
mov ecx, dword [esp + 0x10]
call fcn.10063210
test al, al
je case.0x10063b93.63
push 0xf0
lea ecx, [esp + 0x20]
call fcn.10069d8d
and dword [esp + 0x14], 7
jmp case.0x10063b93.63
mov ecx, ebx
call fcn.10063388
test al, al
je case.default.0x10063b93
push 0x121
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp case.0x10063b93.63
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006308a
test al, al
je case.default.0x10063b93
mov ecx, edi
call fcn.10063368
test al, al
je 0x10065a38
push 0x8e
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, ebx
jmp 0x1006596e
mov ecx, edi
call fcn.10063378
test al, al
je 0x10065a4d
push 0x122
jmp 0x10065996
mov ecx, edi
call fcn.10063388
test al, al
je case.default.0x10063b93
push 0x123
jmp 0x100659e7
cmp esi, 0x11
jne 0x10065b6a
mov ecx, edi
call fcn.10063070
mov esi, ebx
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.10063368
lea ecx, [esp + 0xc]
test al, al
je 0x10065ab0
push 0x8e
call fcn.100634b0
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
dec dword [esp + 0x14]
jmp 0x10063f54
push 0
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
cmp dword [esp + 0x14], 0
jne 0x10065b1c
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630cb
test al, al
jne 0x10065b1c
mov ecx, ebx
call fcn.10063036
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.1006306b
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100636a8
add esp, 0xc
test al, al
je 0x10065b1c
push 0xa0
lea ecx, [esp + 0x10]
call fcn.10063464
jmp 0x10065f1c
mov ecx, edi
call fcn.1006306b
cmp eax, 1
jne 0x10065b60
mov ecx, edi
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10065b51
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x10065b60
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x14], 4
push 0x8a
jmp 0x10064b9d
cmp esi, 0xa
jne 0x10065c73
mov ecx, ebx
call fcn.10063070
mov esi, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.10063368
lea ecx, [esp + 0xc]
test al, al
je 0x10065bb9
push 0x8c
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
dec dword [esp + 0x14]
mov ebx, esi
jmp 0x10063f54
push 0
call fcn.100634b0
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
cmp dword [esp + 0x14], 0
jne 0x10065c1c
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.100630cb
test al, al
jne 0x10065c1c
mov ecx, edi
call fcn.10063036
push eax
push dword [esp + 0x24]
mov ecx, ebx
call fcn.1006306b
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push eax
call fcn.100636a8
add esp, 0xc
test al, al
je 0x10065c1c
push 0xa2
jmp 0x10065b0e
mov ecx, ebx
call fcn.1006306b
cmp eax, 1
jne 0x10065c60
mov ecx, ebx
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10065c51
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x10065c60
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x14], 4
push 0x88
lea ecx, [esp + 0x10]
call fcn.10063464
jmp 0x10065bb2
cmp esi, 0x19
jne 0x10065da5
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
mov byte [esp + 0x34], al
cmp al, 1
jne 0x10065cfb
mov ecx, edi
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x10065cbf
cmp dword [esp + 0x14], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x10065cce
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x14], 4
push 0xb0
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x100648ae
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
cmp byte [esp + 0x34], 8
mov esi, eax
mov ebx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
jne 0x10065d4d
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
jne 0x10065d4d
push ebx
push esi
call fcn.10069dfd
pop ecx
pop ecx
test al, al
je 0x10065d6d
mov ecx, dword [esp + 0x10]
push 1
call fcn.10063232
test al, al
je 0x10065d6d
mov byte [esp + 0x34], 4
push 0xb8
lea ecx, [esp + 0x10]
call fcn.100634b0
push dword [esp + 0x34]
lea ecx, [esp + 0x10]
call fcn.10069e27
jmp 0x100648ae
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10069d39
pop ecx
pop ecx
test al, al
je 0x10065d4d
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
push 0x80000c7
mov dword [esp + 0x1c], eax
call fcn.100634b0
and dword [esp + 0x14], 0
mov byte [esp + 0x34], 4
jmp case.0x10063b93.63
cmp esi, 0x1a
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov dword [esp + 0x6c], eax
test eax, eax
je 0x100669a7
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x10]
call fcn.100634b0
push dword [esp + 0x6c]
lea ecx, [esp + 0x10]
call fcn.10069db7
and dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.10069d6d
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x10065eb0
mov ecx, edi
call fcn.10063070
mov esi, ebx
mov dword [esp + 0x14], eax
push 0xa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063074
test al, al
je case.default.0x10063b93
cmp dword [esp + 0x14], 0
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630cb
test al, al
jne 0x10065ea5
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100633e4
cmp eax, 2
jne 0x10065f1c
mov edi, dword [esp + 0x10]
push 0x2b
jmp 0x100694ab
cmp esi, 0xa
jne 0x10065f62
mov ecx, ebx
call fcn.10063070
mov esi, edi
mov dword [esp + 0x14], eax
push 0xa2
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
call fcn.100634b0
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063074
test al, al
je case.default.0x10063b93
cmp dword [esp + 0x14], 0
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.100630cb
test al, al
jne 0x10065ea5
mov ecx, esi
call fcn.10063036
mov ecx, eax
call fcn.10063117
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.10063222
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x34], al
call fcn.10063036
mov ecx, eax
call fcn.10063407
push eax
lea ecx, [esp + 0x20]
call fcn.100635fd
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
jmp case.0x10063b93.1
cmp esi, 0x19
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063318
test al, al
je case.default.0x10063b93
mov ecx, edi
call fcn.10063070
push 0xb8
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100634b0
mov ecx, ebx
mov byte [esp + 0x34], 8
call fcn.10063036
mov ecx, eax
call fcn.10063132
push 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
call fcn.10069e3d
jmp 0x100648ae
mov ecx, ebx
call fcn.1006306b
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10063464
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
cmp esi, 9
jne 0x10064287
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 1
jne case.0x10063b93.63
jmp 0x10064afc
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063318
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e48
jmp 0x10064371
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, ebx
mov esi, eax
call fcn.10063036
mov ecx, eax
call fcn.10063082
mov ecx, esi
mov bl, al
call fcn.10063082
cmp al, bl
jne case.default.0x10063b93
mov ecx, esi
call fcn.100630c1
test al, al
jne case.default.0x10063b93
mov ecx, esi
call fcn.10063102
test al, al
jne case.default.0x10063b93
mov ecx, esi
call fcn.100633fd
test al, al
je 0x100660b7
mov ecx, esi
call fcn.10063407
cmp eax, 1
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
cmp esi, 0xb
jne 0x10066123
mov ecx, ebx
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
mov ecx, dword [esp + 0x40]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.1006357a
add eax, esi
lea ecx, [esp + 0xc]
push eax
call fcn.100634b0
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069e11
jmp 0x10063e8c
cmp esi, 9
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
cmp eax, 2
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
dec eax
lea ecx, [esp + 0xc]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.10063464
mov ecx, ebx
jmp 0x1006508d
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
cmp eax, 2
jne case.default.0x10063b93
push 6
pop edx
mov ecx, ebx
call fcn.1006350b
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
mov edi, eax
test edi, edi
je 0x100669a7
xor ecx, ecx
mov esi, ebx
cmp edi, 1
setne cl
push ecx
lea ecx, [esp + 0x10]
call fcn.10063464
push edi
jmp 0x10065137
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100661fe
mov ecx, edi
call fcn.10063368
test al, al
je 0x10066294
mov ecx, edi
call fcn.10063070
cmp eax, 7
jae 0x1006628d
push dword [eax*4 + 0x1009d248]
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp case.0x10063b93.1
cmp esi, 3
jne 0x100662d8
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063132
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.10069d13
pop ecx
pop ecx
test al, al
je 0x1006624f
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
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 0x100661f0
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x100662d8
mov ecx, edi
call fcn.10063368
test al, al
je 0x10066294
mov ecx, edi
call fcn.10063070
cmp eax, 2
je 0x1006628d
cmp eax, 7
jae 0x1006628d
push dword [eax*4 + 0x1009d730]
jmp 0x100661f0
push 0x31
jmp 0x10064685
mov ecx, edi
call fcn.1006306b
cmp eax, 2
jb case.default.0x10063b93
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069e11
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x14], eax
jmp 0x100648ae
cmp esi, 2
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
test eax, eax
je 0x100669a7
mov ecx, edi
call fcn.1006306b
cmp eax, esi
je 0x10066315
mov ecx, edi
call fcn.1006306b
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.10063222
cmp esi, eax
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069e11
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
test esi, esi
jne 0x10066341
push edx
lea ecx, [esp + 0x10]
call fcn.10063464
jmp case.0x10063b93.1
cmp esi, 3
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], esi
or esi, eax
mov dword [esp + 0x2c], eax
jne 0x1006637c
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
jne 0x1006637c
push 1
jmp 0x10066333
mov byte [esp + 0x34], 2
jmp case.0x10063b93.1
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [edi]
and al, 7
cmp al, dl
jne 0x10066467
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 1
jne 0x100663f4
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100663e2
cmp dword [esp + 0x18], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x100663f0
mov eax, dword [esp + 0x20]
add dword [esp + 0x18], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
cmp esi, 9
jne 0x10066410
mov ecx, ebx
call fcn.10063070
cmp eax, 1
jne case.default.0x10063b93
push 2
jmp 0x10064796
cmp esi, 0x19
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
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 0x10066453
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
je case.0x10063b93.63
push 0x10
lea ecx, [esp + 0x10]
call fcn.100634bb
mov byte [esp + 0x34], bl
jmp case.0x10063b93.63
call fcn.1006306b
test eax, eax
je 0x100669a7
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
cmp esi, 0xa
jne 0x100664aa
mov ecx, ebx
call fcn.10063070
cmp eax, 1
jne case.default.0x10063b93
push 2
lea ecx, [esp + 0x10]
call fcn.10063464
jmp 0x10063f52
cmp esi, 0x1a
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
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 0x100664f3
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
je 0x10063f52
push 0x10
lea ecx, [esp + 0x10]
call fcn.100634bb
mov al, bl
jmp 0x10065e16
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x1006406d
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x18], eax
mov ecx, dword [edi]
and ecx, 0xff000fff
cmp ecx, 0x1000021
je 0x10066533
cmp eax, 4
jmp 0x10064b0f
add eax, 4
mov dword [esp + 0x18], eax
jmp 0x10064b26
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066585
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, ebx
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10063036
mov ecx, eax
call fcn.10063132
jmp 0x10063c77
cmp esi, 0xca
jne 0x100665d1
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069db7
mov ecx, ebx
call fcn.10063070
mov ecx, dword [ebp + 0x14]
mov ebx, edi
mov dword [esp + 0x14], eax
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10063f54
push edx
lea ecx, [esp + 0x10]
call fcn.10063464
cmp esi, 0x49
jne 0x100665f8
mov ecx, dword [ebp + 0x14]
call fcn.10063070
cmp eax, 1
jne case.default.0x10063b93
mov ecx, edi
jmp 0x100648c1
cmp esi, 0x4a
jne case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
call fcn.10063070
cmp eax, 1
jne case.default.0x10063b93
mov ecx, ebx
jmp 0x100648e5
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, ebx
mov esi, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
test eax, eax
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
xor edx, edx
mov ecx, eax
call fcn.100630a9
test al, al
je case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov edi, eax
call fcn.10063061
test al, al
je 0x10066678
mov ecx, ebx
call fcn.1006306b
cmp eax, edi
jne 0x10066aa7
push edi
lea ecx, [esp + 0x10]
call fcn.10069dcc
jmp 0x10063dca
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, edi
mov esi, edi
call fcn.10063036
mov ecx, eax
call fcn.1006312e
test eax, eax
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063036
xor edx, edx
mov ecx, eax
call fcn.100630a9
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
mov ecx, edi
mov ebx, eax
call fcn.10063061
test al, al
je 0x100666e6
mov ecx, edi
call fcn.1006306b
cmp eax, ebx
jne 0x10066aa7
push ebx
jmp 0x10066679
mov edi, dword [ebp + 0xc]
cmp esi, 0x12
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063036
mov ecx, eax
call fcn.100630f3
mov ecx, ebx
mov esi, eax
call fcn.10063036
mov ecx, eax
call fcn.100630f3
cmp esi, eax
jne case.default.0x10063b93
mov ecx, edi
mov esi, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063102
test al, al
jne case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
mov ebx, eax
test ebx, ebx
je 0x100669a7
jmp 0x100666d7
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066814
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
jne 0x10066aa7
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne case.0x10063b93.63
mov eax, dword [edi]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
mov esi, Ordinal_2
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x100667d6
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.10063202
push 4
pop ecx
jmp 0x100667e4
mov edx, esi
call fcn.10063202
push 4
pop ecx
add dword [esp + 0x18], ecx
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x100667ff
cmp dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
jmp 0x10064a75
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.10063202
add dword [esp + 0x14], 4
jmp case.0x10063b93.63
cmp esi, 0xa
jne 0x10066860
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, ebx
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne 0x10063f52
mov eax, dword [ebx]
lea ecx, [esp + 0x20]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10064561
jmp 0x10064544
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
lea ecx, [esp + 0xc]
call fcn.10063407
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne 0x10066993
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1006306b
cmp eax, 1
jne 0x10066908
mov ecx, edi
call fcn.10063308
lea ecx, [esp + 0x20]
test al, al
jne 0x100668d8
cmp dword [esp + 0x18], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.10063202
jmp 0x100668e7
mov edx, Ordinal_2
call fcn.10063202
add dword [esp + 0x18], 4
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
movzx eax, al
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10066942
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x78], 4
call fcn.1006306b
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x7c]
call fcn.10069d6d
mov byte [esp + 0x34], al
cmp dword [esp + 0x18], 0
jne case.0x10063b93.63
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
jne case.0x10063b93.63
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, edi
call fcn.1006306b
xor ecx, ecx
cmp eax, 1
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp case.0x10063b93.1
cmp esi, 0x1a
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
test eax, eax
jne 0x100669ae
push 0x34
jmp 0x10063a57
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x80], 4
call fcn.1006306b
mov dword [esp + 0x84], eax
lea edx, [esp + 0x80]
lea ecx, [esp + 0x84]
jmp 0x10065e11
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063b93.61
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069dcc
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
cmp eax, 1
jne 0x10063f54
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x10066a5a
cmp dword [esp + 0x14], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or eax, dword [esp + 0x20]
jmp 0x10066a68
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 4
or eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x10063f54
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066bd4
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
cmp esi, eax
je 0x10066aae
push 0x35
jmp 0x10063a57
cmp esi, 1
je 0x100667a1
cmp dword [esp + 0x54], 0x668
jne 0x10066bce
cmp dword [esp + 0x14], 0
je 0x10066ad7
cmp dword [esp + 0x18], 0
jne 0x10066bce
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10063216
test al, al
je 0x10066b05
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jne 0x10066b05
cmp esi, 4
jb 0x10066b05
cmp esi, 8
jne 0x10066bce
push 0x8000000
jmp 0x10066b30
mov ecx, dword [esp + 0x20]
push 0x20
pop edx
call fcn.10069d75
test al, al
jne 0x10066bce
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
add dword [esp + 0x14], eax
push esi
call fcn.10069dcc
push 0x8200000
lea ecx, [esp + 0x10]
call fcn.100634c6
push 0x90
lea ecx, [esp + 0x10]
call fcn.100634d1
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10063586
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.1006348a
mov ecx, dword [esp + 0x14]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.10063564
test al, al
jne 0x10067609
and esi, 0x7f
lea ecx, [esp + 0x1c]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.10069d7b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
and eax, 7
push eax
mov dword [esp + 0x18], eax
call fcn.10063464
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.100635a5
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x30]
lea ecx, [esp + 0x28]
call fcn.10063651
jmp 0x10063d43
push esi
jmp 0x1006519a
cmp esi, 0xa
jne case.default.0x10063b93
jmp 0x10066819
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066c2e
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069d75
test al, al
je case.0x10063b93.63
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x10064473
cmp esi, 0x11
je 0x10064290
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x10064371
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10066cfd
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
test eax, eax
je 0x10066d50
test edx, edx
jne case.default.0x10063b93
push 0xff
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.100634dc
mov ecx, dword [esp + 0x18]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, dword [esp + 0xc]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x1009d200]
lea ecx, [esp + 0x20]
push eax
call fcn.10069d7b
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.0x10063b93.0
cmp esi, 2
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x10]
call fcn.100634b0
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.100634c6
jmp 0x10063f52
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x10066d4c
cmp esi, edx
jne 0x10066cfd
mov ecx, edi
call fcn.10063070
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.0x10063b93.65
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne 0x10066e04
mov ecx, edi
mov ebx, edi
call fcn.1006306b
mov esi, dword [esp + 0x48]
cmp eax, 4
jne 0x10066d9c
push 0x1000
mov ecx, esi
call fcn.10063438
test al, al
jne 0x10063f54
mov ecx, edi
call fcn.1006306b
cmp eax, 8
jne 0x10066dbf
push 0x2000
mov ecx, esi
call fcn.10063438
test al, al
je 0x10066dbf
push 4
jmp 0x10064b9d
mov ecx, edi
call fcn.1006306b
cmp eax, 0xa
jne case.default.0x10063b93
push 0x800
mov ecx, esi
call fcn.10063438
test al, al
je case.default.0x10063b93
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
lea ecx, [esp + 0xc]
call fcn.10063407
jmp 0x10064297
cmp esi, edx
jne case.default.0x10063b93
mov eax, dword [esp + 0x54]
cmp eax, 0xce
jne 0x10066e28
mov ecx, edi
call fcn.10063070
add eax, 0x364c0
jmp 0x10066cac
cmp eax, 0xec
jne 0x10066e40
mov ecx, edi
call fcn.10063070
add eax, 0x374d0
jmp 0x10066cac
cmp eax, 0xef
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
add eax, 0x374d8
jmp 0x10066cac
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063b93
push 0xffff1fff
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, edi
mov ebx, edi
call fcn.1006306b
mov esi, dword [esp + 0x48]
cmp eax, 2
jne 0x10066e9c
push 0x800
mov ecx, esi
call fcn.10063438
test al, al
jne 0x10066db8
mov ecx, edi
call fcn.1006306b
cmp eax, 4
jne 0x10066ebc
push 0x1000
mov ecx, esi
call fcn.10063438
test al, al
jne 0x10063f54
mov ecx, edi
call fcn.1006306b
cmp eax, 8
jne case.default.0x10063b93
push 0x2000
mov ecx, esi
call fcn.10063438
test al, al
je case.default.0x10063b93
mov ecx, dword [esp + 0x40]
call fcn.1006357a
and eax, 0xffff1fff
jmp 0x10066dec
test esi, esi
jne case.0x10063b93.70
push edx
lea ecx, [esp + 0x10]
call fcn.10063464
jmp case.0x10063b93.65
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
push eax
jmp 0x10066ef8
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne 0x10066f3f
mov ecx, edi
call fcn.10063070
test eax, eax
jne case.default.0x10063b93
mov ecx, dword [esp + 0x40]
call fcn.1006357a
jmp 0x10066cac
cmp esi, 2
jne case.default.0x10063b93
jmp 0x10066d25
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10066f8d
mov ecx, ebx
call fcn.10063348
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e57
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x10064c8a
cmp esi, 0xca
jne case.default.0x10063b93
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, ebx
call fcn.10063348
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e57
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
jmp 0x10064371
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne 0x10067024
mov ecx, ebx
call fcn.10063348
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e57
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x100648d0
cmp esi, 0xca
jne case.default.0x10063b93
jmp 0x10066faa
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x1006707e
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069d75
test al, al
je case.0x10063b93.63
mov eax, dword [esp + 0x40]
cmp byte [eax + 7], 0
je case.0x10063b93.63
mov ecx, eax
jmp 0x10066c1a
cmp esi, 0x11
je 0x10064290
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x10064368
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne 0x100670ba
mov ecx, edi
call fcn.1006306b
cmp eax, 1
je case.default.0x10063b93
jmp 0x10065844
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
cmp eax, 1
je case.default.0x10063b93
jmp 0x10066612
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067198
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10063358
test al, al
je 0x1006714c
mov ecx, ebx
call fcn.10063358
test al, al
je 0x1006714c
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069d75
test al, al
je case.0x10063b93.63
push 0x10
jmp 0x1006446a
mov ecx, edi
call fcn.10063348
test al, al
je 0x10067218
mov ecx, ebx
call fcn.10063348
test al, al
je 0x10067218
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069d75
test al, al
je case.0x10063b93.63
push 0x2001d6
jmp 0x10066c20
cmp esi, 0x11
jne 0x100671d8
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10063358
test al, al
je 0x100671c6
push 0x16f
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x10063f54
mov ecx, edi
call fcn.10063348
test al, al
je 0x10067218
push 0x40017e
jmp 0x100671b8
cmp esi, 0xa
jne 0x10067218
mov ecx, ebx
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063358
test al, al
je 0x10067206
push 0x17f
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x10063f52
mov ecx, ebx
call fcn.10063348
test al, al
je 0x10067218
push 0x2001d6
jmp 0x100671f8
mov eax, 0x8000000
lea ecx, [esp + 0xc]
push eax
mov dword [esp + 0x48], eax
call fcn.100634d1
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 0x10067264
mov ecx, ebx
call fcn.1006308a
test al, al
je 0x1006726d
jmp 0x10064c95
cmp esi, 0x11
je 0x10063f54
push dword [esp + 0x44]
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
mov ecx, ebx
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063348
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e57
cmp esi, 9
jne 0x100640f2
mov ecx, edi
call fcn.1006308a
jmp 0x1006422b
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100672da
xor edx, edx
mov ecx, eax
call fcn.100633cb
test al, al
je case.default.0x10063b93
and esi, 0x3f
jmp case.0x10063b93.73
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100672da
push 7
pop edx
mov ecx, eax
call fcn.1006350b
jmp 0x100672d2
xor eax, eax
mov edx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, edx
or ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x1006730d
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 0x10064278
cmp esi, 0x11
jne case.default.0x10063b93
mov eax, dword [edi + 4]
jmp 0x10064297
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067384
mov ecx, edi
call fcn.10063348
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10063348
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069e66
mov ecx, edi
call fcn.10063070
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x10064f7d
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063348
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e57
jmp 0x10064290
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x10064c8a
cmp esi, 0x11
je 0x10064290
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
lea ecx, [esp + 0xc]
call fcn.10063407
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov byte [esp + 0x34], 1
jmp 0x100640af
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006734e
cmp esi, 0x11
je 0x1006738d
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
lea ecx, [esp + 0xc]
call fcn.10063407
mov dword [esp + 0x14], eax
cmp esi, 0x19
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063348
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e57
jmp 0x100673e2
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 0x10064c8a
cmp esi, 0xd1
jmp 0x1006428a
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
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 0x1006734e
cmp esi, 0xd1
jmp 0x10067387
mov ecx, dword [ebp + 0xc]
call fcn.10063070
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
cmp esi, 9
je case.0x10063b93.63
cmp esi, 0xd9
jne case.default.0x10063b93
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
call fcn.10063407
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
mov ecx, dword [ebp + 0x10]
mov bl, al
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
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.0x10063b93.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.0x10063b93.63
cmp ecx, 0x6c9
jne case.default.0x10063b93
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, dword [ebp + 0x18]
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
mov ecx, dword [ebp + 0x14]
jmp 0x1006752e
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 0x10064c95
mov edi, dword [esp + 0x10]
cmp esi, 0x11
jne 0x10063d84
jmp 0x10063f58
mov edi, dword [esp + 0x10]
push 0x25
pop eax
jmp 0x10063a5c
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 0x10067662
push 0x18
lea ecx, [esp + 0x10]
call fcn.100634e5
or eax, 0x78e0c4
shl esi, 8
xor eax, esi
lea ecx, [esp + 0x1c]
push eax
call fcn.10069d9a
jmp case.0x10063b93.0
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069d8d
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp case.0x10063b93.0
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10067727
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.1006308a
test al, al
je 0x100676dd
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp case.0x10063b93.93
mov ecx, edi
call fcn.1006308a
test al, al
je 0x100676f4
mov ecx, dword [esp + 0x40]
call fcn.1006357a
inc eax
jmp 0x100676ce
mov ecx, dword [esp + 0x20]
mov edx, 0x100
call fcn.10069d75
test al, al
je case.0x10063b93.93
push 1
lea ecx, [esp + 0x10]
call fcn.10063464
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.100395d1
jmp case.0x10063b93.93
cmp esi, 0x11
jne 0x10067738
mov ecx, edi
call fcn.10063070
jmp 0x100687e2
cmp esi, 0xa
jne case.default.0x10063b93
push edx
lea ecx, [esp + 0x10]
call fcn.10063464
jmp 0x100687d9
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.10063036
mov ecx, eax
call fcn.10063318
movzx eax, al
lea ecx, [esp + 0xc]
push eax
call fcn.10069e48
jmp case.0x10063b93.93
mov edi, dword [ebp + 0xc]
cmp esi, 2
jne case.default.0x10063b93
mov ebx, edi
jmp 0x100687e6
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 + 0x1009d670]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x10068270
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, ebx
call fcn.1006306b
mov ecx, eax
call fcn.1006354e
mov ecx, edi
mov dword [esp + 0x88], eax
call fcn.1006353e
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x8c]
call fcn.10069d65
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp 0x100687d9
mov edi, dword [ebp + 0xc]
cmp esi, 0xc9
jne case.0x10063b93.100
push 0x2001c5
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.10063070
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10063036
mov ecx, eax
call fcn.10063132
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x34], 1
jmp case.0x10063b93.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 + 0x1009d670]
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 0x100678b7
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
jmp 0x100696c9
cmp esi, 0xca
jmp 0x100687d3
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x100678dc
push 7
pop edx
mov ecx, eax
call fcn.1006350b
test al, al
je case.default.0x10063b93
and esi, 0x3f
jmp case.0x10063b93.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.0x10063b93.103
cmp byte [ebx + 3], 0
mov edi, dword [ebp + 0xc]
je 0x10067935
mov ecx, ebx
call fcn.1006306b
mov ecx, eax
call fcn.1006354e
push eax
jmp 0x1006794a
mov ecx, edi
call fcn.1006306b
cmp eax, 0x20
jne case.0x10063b93.103
push 0x40000000
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp case.0x10063b93.103
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne case.0x10063b93.106
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006308a
test al, al
je case.0x10063b93.106
mov ecx, edi
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
or esi, eax
mov ecx, esi
call fcn.1006354e
mov ecx, dword [esp + 0x40]
mov esi, eax
call fcn.1006357a
or esi, eax
lea ecx, [esp + 0xc]
push esi
call fcn.100634b0
mov ecx, edi
call fcn.10063070
jmp 0x100696be
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 + 0x1009d670]
or dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x100679dd
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
jmp 0x100696c9
cmp esi, 0x11
jne case.default.0x10063b93
mov eax, dword [edi + 4]
jmp 0x100687e2
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov ecx, eax
call fcn.1006354e
mov ecx, ebx
mov dword [esp + 0x90], eax
call fcn.1006353e
mov dword [esp + 0x94], eax
lea edx, [esp + 0x90]
lea ecx, [esp + 0x94]
call fcn.10069d65
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp 0x1006772c
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.10063099
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.10063099
test al, al
je case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
call fcn.10063099
test al, al
je case.default.0x10063b93
mov ecx, dword [ebp + 0x18]
call fcn.10063099
test al, al
je case.default.0x10063b93
mov ecx, dword [esp + 0x3c]
call fcn.10063099
test al, al
je case.default.0x10063b93
mov ecx, esi
call fcn.1006304c
test al, al
je case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov ecx, dword [ebp + 0x14]
mov ebx, eax
call fcn.10063070
mov ecx, dword [ebp + 0x18]
mov esi, eax
call fcn.10063070
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
call fcn.10063070
mov edx, eax
test bl, 3
jne 0x10067b10
lea ecx, [ebx + 1]
cmp esi, ecx
jne 0x10067b10
lea ecx, [ebx + 2]
cmp dword [esp + 0x50], ecx
jne 0x10067b10
lea eax, [ebx + 3]
cmp edx, eax
jne 0x10067b10
mov ecx, edi
call fcn.10063070
mov edx, ebx
mov ecx, eax
call fcn.10063537
mov ebx, dword [esp + 0x24]
jmp 0x100687e2
push 0x3c
jmp 0x10064685
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.0x10063b93.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 + 0x1009d670]
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 0x100679ce
cmp esi, 0xd1
jne case.default.0x10063b93
jmp 0x1006772c
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je case.0x10063b93.115
push 2
pop edx
mov ecx, eax
call fcn.100630a9
test al, al
je case.default.0x10063b93
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 0x10067c2c
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 + 0x1009d670]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067d34
cmp esi, 0x89
jne case.default.0x10063b93
mov eax, dword [ebx + 4]
mov ebx, edx
shl eax, 7
add eax, dword [edi + 4]
jmp 0x100687e2
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
test al, 1
jne 0x10067cdd
mov ecx, edi
call fcn.10063070
mov ecx, ebx
lea esi, [eax + 1]
call fcn.10063070
cmp esi, eax
jne 0x10067cdd
mov ecx, dword [ebp + 0x14]
call fcn.1006306b
mov ecx, eax
call fcn.1006354e
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
mov ecx, dword [ebp + 0x14]
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ebx, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.1006303f
mov ecx, ebx
test al, al
jne 0x100696c4
call fcn.1006304c
test al, al
je case.default.0x10063b93
jmp 0x100687e6
push 0x1d
jmp 0x10064685
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 + 0x1009d670]
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 0x10067d4c
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 0x100696c9
cmp ecx, 0x289
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ebx, dword [ebp + 0x14]
jmp 0x100687e2
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.0x10063b93.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 + 0x1009d670]
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 0x10067d34
cmp eax, 0x689
jmp 0x10067d52
mov ecx, dword [ebp + 0xc]
call fcn.10063318
mov ecx, dword [ebp + 0x14]
mov bl, al
call fcn.10063318
movzx ecx, al
movzx eax, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x10]
call fcn.10069e74
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100696a4
cmp esi, 0x51
jne case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
jmp 0x100687e2
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jne case.0x10063b93.128
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
mov ecx, eax
call fcn.1006354e
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.1006353e
mov dword [esp + 0x9c], eax
lea edx, [esp + 0x98]
lea ecx, [esp + 0x9c]
jmp 0x10067a2b
mov edi, dword [ebp + 0xc]
cmp esi, 0x51
jne case.default.0x10063b93
mov ecx, edi
call fcn.1006306b
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.1006306b
or esi, eax
mov ecx, esi
call fcn.1006354e
mov ecx, ebx
mov dword [esp + 0xa0], eax
call fcn.1006353e
lea edx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0xa4]
call fcn.10069d65
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp 0x10067e5e
mov ecx, dword [ebp + 0x18]
call fcn.10063039
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x50], eax
call fcn.10063036
mov ecx, eax
call fcn.10063132
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 0x100696a4
cmp eax, 0x651
jmp 0x10067e58
mov edi, dword [ebp + 0xc]
cmp esi, 9
jne 0x10068014
mov ecx, edi
call fcn.1006308a
test al, al
je 0x10067fc0
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
mov ecx, edi
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069de1
mov ecx, ebx
call fcn.10063070
mov ecx, edi
jmp 0x100696c0
mov ecx, ebx
call fcn.1006308a
test al, al
je 0x10067fe1
mov ecx, ebx
call fcn.1006306b
push eax
lea ecx, [esp + 0x10]
call fcn.10069de1
jmp 0x1006799f
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.100634dc
test eax, eax
je 0x10068047
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100634c6
push 0x40017e
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp 0x1006799f
cmp esi, 0x11
jne 0x1006804b
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.100634dc
test eax, eax
je 0x1006772c
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100634c6
push 0x40017e
jmp 0x10067a31
mov eax, dword [esp + 0x40]
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
cmp esi, 0xa
jne case.default.0x10063b93
push 0x10000000
lea ecx, [esp + 0x10]
call fcn.100634dc
test eax, eax
je 0x100687d9
push 0xff9fe000
lea ecx, [esp + 0x10]
call fcn.100634c6
push 0x2001d6
jmp 0x10067800
mov ecx, dword [ebp + 0xc]
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
or esi, eax
mov ecx, esi
call fcn.1006354e
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 9
je 0x1006799f
cmp esi, 0x11
je 0x1006772c
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
jmp 0x100687d0
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne 0x10068167
mov ecx, dword [ebp + 0x14]
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, dword [esp + 0x20]
mov edx, 0x100
mov dword [esp + 0x18], eax
call fcn.10069d75
test al, al
je case.0x10063b93.93
lea ecx, [esp + 0xc]
call fcn.1006346f
mov ecx, ebx
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ecx, dword [ebp + 0x14]
jmp 0x100696c0
cmp esi, 0x51
je 0x10067e5e
cmp esi, 0x89
jne case.default.0x10063b93
lea ecx, [esp + 0xc]
call fcn.1006346f
jmp 0x10067d58
mov ecx, dword [ebp + 0xc]
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
or esi, eax
mov ecx, esi
call fcn.1006354e
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10068146
cmp esi, 0x89
je 0x10067d58
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
mov ecx, dword [ebp + 0x14]
call fcn.10063036
mov ecx, eax
call fcn.10063132
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 0x10067b96
jmp 0x1006799f
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x100680fe
cmp esi, 0x51
je 0x10067e5e
cmp esi, 0x89
je 0x1006817c
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x100681e1
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10068146
cmp esi, 0x89
je 0x10067d58
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
cmp esi, 9
je 0x10067fb2
jmp 0x100687d0
mov ecx, dword [ebp + 0xc]
call fcn.1006306b
mov ecx, ebx
mov esi, eax
call fcn.1006306b
or esi, eax
shr esi, 4
mov eax, dword [esi*4 + 0x1009d670]
or dword [esp + 0xc], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067d34
cmp esi, 0x89
je 0x10067d58
push 0x60000000
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
cmp esi, 0x4a
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov ecx, dword [ebp + 0x14]
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
jmp 0x100687e0
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 + 0x1009d670]
or eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067d34
cmp esi, 0x89
je 0x10067d58
push 0x60001000
lea ecx, [esp + 0x10]
call fcn.100634c6
mov ecx, dword [esp + 0x40]
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
lea ecx, [esp + 0xc]
call fcn.10063407
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10063036
mov ecx, eax
call fcn.10063132
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 0x100683b8
mov ecx, edi
call fcn.10063070
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x100696b9
cmp esi, 0xd1
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov ecx, dword [esp + 0x14]
mov edx, eax
jmp 0x10067e73
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 0x1006841f
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100679d5
cmp esi, 0x11
jmp 0x100683be
cmp esi, 0xd1
jne case.0x10063b93.146
lea ecx, [esp + 0xc]
call fcn.10063478
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 + 0x1009d670]
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 0x1006849a
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x10068484
mov ecx, ebx
call fcn.1006306b
cmp eax, 8
je 0x10068484
xor eax, eax
jmp 0x10068488
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 0x10068410
cmp esi, 0xd1
jne case.default.0x10063b93
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x14], eax
jmp 0x100687e6
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ebx + 3]
call fcn.1006306b
or eax, esi
shr eax, 4
mov eax, dword [eax*4 + 0x1009d670]
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 0x1006852c
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 0x10067850
cmp eax, 0x449
jne 0x1006857f
lea ecx, [esp + 0xc]
call fcn.1006346f
mov ecx, ebx
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10063070
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 0x100687e6
cmp eax, 0x289
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
jmp 0x1006855b
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.0x10063b93
call fcn.10063039
mov ecx, dword [ebp + 0x18]
shl eax, 9
add eax, esi
mov dword [esp + 0x58], eax
call fcn.1006306b
mov ecx, edi
mov esi, eax
call fcn.1006306b
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.1006306b
mov esi, eax
or esi, edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.1006306b
or eax, esi
mov ecx, eax
call fcn.1006354e
push eax
lea ecx, [esp + 0x10]
call fcn.100634d1
mov ecx, dword [esp + 0x50]
call fcn.10063036
mov ecx, eax
call fcn.10069d5c
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 0x10068682
mov ecx, ebx
call fcn.10063070
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10063070
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10063070
shl eax, 4
or dword [esp + 0x28], eax
jmp case.0x10063b93.93
cmp eax, 0x449
jne 0x100686c6
lea ecx, [esp + 0xc]
call fcn.1006346f
mov ecx, ebx
call fcn.10063070
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ebx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.10063070
shl eax, 4
or dword [esp + 0x28], eax
jmp 0x100687e6
cmp eax, 0x289
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov ecx, dword [ebp + 0xc]
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ecx, dword [ebp + 0x18]
mov ebx, edi
jmp 0x100686b1
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
je 0x10067d34
cmp esi, 0x11
je 0x1006772c
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, eax
call fcn.1006357a
push eax
lea ecx, [esp + 0x10]
call fcn.100634b0
jmp 0x100687d9
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 + 0x1009d670]
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 0x1006852c
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 0x1006879a
lea ecx, [esp + 0xc]
call fcn.1006346f
mov ecx, dword [ebp + 0x18]
call fcn.10063070
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
call fcn.10063070
jmp 0x1006851f
mov ecx, dword [ebp + 0x14]
call fcn.10063070
mov ecx, dword [ebp + 0x18]
jmp 0x1006878c
mov edi, dword [ebp + 0xc]
cmp esi, edx
jne case.default.0x10063b93
mov ecx, edi
call fcn.10063070
mov dword [esp + 0x14], eax
jmp case.0x10063b93.93
mov edi, dword [ebp + 0xc]
cmp esi, 0x11
jmp 0x10067b9c
mov edi, dword [ebp + 0xc]
cmp esi, 0xa
jne case.default.0x10063b93
mov ecx, ebx
call fcn.10063070
mov ebx, edi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.10063039
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630f3
mov ecx, ebx
movzx eax, byte [eax + 0x1009d268]
mov dword [esp + 0x44], eax
call fcn.10063036
mov ecx, eax
call fcn.10063407
push eax
lea ecx, [esp + 0x20]
call fcn.100635fd
lea ecx, [esp + 0x1c]
call fcn.10063149
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.1006342b
test dword [esp + 0x44], eax
lea ecx, [esp + 0x1c]
setne al
movzx eax, al
push eax
call fcn.10069da8
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630d5
test al, al
je 0x1006886e
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630e3
test al, al
je 0x10068894
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100630fe
mov dword [esp + 0x24], eax
jmp 0x10068899
and dword [esp + 0x24], 0
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063418
lea ecx, [edi + 0x48]
movzx esi, al
call fcn.10063070
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.1006349a
mov ecx, dword [esp + 0x48]
or eax, esi
and dword [esp + 0x14], 7
mov dword [esp + 0x40], eax
call fcn.10063149
mov ecx, eax
call fcn.100631f3
mov edx, 0x400000
mov ecx, eax
call fcn.1006342f
mov esi, dword [esp + 0x40]
mov edx, 0x40000
shl eax, 9
mov ecx, 0x800000
or esi, eax
mov dword [esp + 0x40], esi
call fcn.100631f8
mov edx, 0x80000
mov ecx, eax
call fcn.100631f8
mov ecx, dword [esp + 0x20]
mov edx, 0x8c0000
call fcn.10069d75
test al, al
je 0x1006898c
mov edx, 0x80000
mov ecx, 0x40000
call fcn.100631f8
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069d75
test al, al
jne 0x10069779
mov ecx, dword [esp + 0x20]
mov edx, 0x800000
call fcn.100631fd
or esi, eax
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x48]
call fcn.1006344c
test al, al
je 0x100689c6
test esi, 0x80df8110
jne 0x100689d2
mov edx, 0x400
mov ecx, 0x800
call fcn.100631f8
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.10069d75
test al, al
jne 0x100689c6
or esi, 0x10
mov dword [esp + 0x40], esi
test esi, 0x80df8110
je 0x10068b46
push 4
lea ecx, [esp + 0x10]
call fcn.100634ed
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.100634ed
and eax, 0x830000
or eax, esi
xor eax, 0x87cf062
mov dword [esp + 0x3c], eax
test eax, 0x10000000
je 0x10068af7
mov ecx, dword [esp + 0x48]
call fcn.1006345a
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.10063036
mov ecx, eax
call fcn.10063422
mov edx, esi
mov ecx, eax
shl edx, cl
test esi, esi
je 0x10068af0
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.10069ec6
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xac]
call fcn.10069d65
sub eax, 4
shl eax, 0x1d
mov dword [esp + 0xb0], eax
cmp eax, 0x40000000
ja 0x10068af0
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xb4]
call fcn.10069d65
and esi, 0x9fffffff
lea ecx, [esp + 0xc]
push 0xffff1fff
or esi, eax
call fcn.100634c6
mov ecx, dword [esp + 0x50]
call fcn.10069ec6
shl eax, 0xd
lea ecx, [esp + 0xc]
push eax
call fcn.100634d1
jmp 0x10068b37
push 0x29
jmp 0x100694ab
push 0x19
lea ecx, [esp + 0x10]
call fcn.100634ed
mov esi, eax
lea ecx, [esp + 0xc]
push 0xd
and esi, 4
call fcn.100634ed
mov ecx, dword [esp + 0x3c]
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x1009d138]
lea ecx, [esp + 0x10]
call fcn.10063464
mov esi, dword [esp + 0x3c]
push esi
lea ecx, [esp + 0x20]
call fcn.10069d9a
jmp 0x10068bf0
push 0xd
lea ecx, [esp + 0x10]
call fcn.100634ed
mov esi, eax
lea ecx, [esp + 0xc]
push 0xc
and esi, 0x300
call fcn.100634ed
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.1006356e
push 0xffff1fff
lea ecx, [esp + 0x10]
or esi, eax
call fcn.100634c6
test esi, 0x8000807e
je 0x10068bcc
push 0x18
lea ecx, [esp + 0x10]
call fcn.100634e5
mov ecx, esi
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d208]
movzx ecx, si
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10069d9a
jmp 0x10068bfd
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069d8d
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, dword [esp + 0x48]
push 0x100000
call fcn.10063438
test al, al
jne 0x100692b2
mov eax, dword [esp + 0x44]
test al, 0x42
jne 0x100691ab
test al, 1
je 0x10068db6
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x58], eax
call fcn.10063559
pop ecx
mov ecx, dword [esp + 0x48]
mov esi, eax
call fcn.10063444
push 4
pop ebx
cmp dword [esp + 0x18], ebx
je 0x10068cd1
test al, al
jne 0x10068cd1
cmp dword [esp + 0x18], 5
mov ebx, dword [esp + 0x54]
je 0x10068c7b
test ebx, ebx
jne 0x10068c7b
push esi
jmp 0x10068d00
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100634dc
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.10069e82
test al, al
je 0x10068cbb
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp ebx, eax
jne 0x10068cbb
lea eax, [esi + 0x40]
jmp 0x10068d65
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push ebx
jmp 0x1006919d
and esi, 0xf8
or esi, ebx
cmp dword [esp + 0x18], 5
je 0x10068d0e
cmp dword [esp + 0x54], 0
jne 0x10068d0e
push esi
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x10066bb4
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100634dc
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.10069e82
test al, al
je 0x10068d85
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
shl eax, cl
cmp dword [esp + 0x54], eax
jne 0x10068d85
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, dword [esp + 0x3c]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.10069d8d
jmp 0x10066bb4
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x18]
mov edx, ebx
xor ecx, ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x54]
jmp 0x1006919d
test al, 0x30
jne 0x100690f5
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100633e4
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x50], esi
call fcn.10063036
mov ecx, eax
call fcn.1006312e
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10063210
test al, al
je 0x10068e0a
cmp esi, 2
je 0x10065ea9
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063559
jmp 0x100690e1
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov esi, dword [esp + 0x24]
mov ecx, ebx
sar esi, 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], esi
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.1006320c
mov ecx, eax
call fcn.100631b7
mov ecx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x10068f13
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x10068ed8
cmp dword [esp + 0x3c], esi
je 0x100690bc
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x10068f1c
mov ebx, dword [esp + 0x58]
mov al, byte [ebx]
cmp al, 0x67
je 0x100690bc
cmp dword [esp + 0x54], 0x17e
jne 0x100690b0
movzx eax, al
test al, 0x40
je 0x100690bc
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x100690bc
mov ecx, dword [esp + 0x20]
mov edx, 0x40000000
call fcn.10069d75
test al, al
jne 0x100690bc
push ebx
lea ecx, [esp + 0x20]
call fcn.100632d1
jmp 0x100690bc
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063407
cmp dword [esp + 0x54], 0x17e
mov ecx, eax
jne 0x10068f04
cmp dword [esp + 0x3c], esi
je 0x10068eff
cmp dword [esp + 0x48], 0
jne 0x10068f04
xor eax, eax
inc eax
jmp 0x10068f06
xor al, al
cmp ecx, 5
jae 0x10068ff1
test al, al
jmp 0x10068f16
cmp eax, 2
jne 0x10068ff1
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
push dword [edi + 0x6c]
movzx esi, al
call fcn.100632ac
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 0x1006900e
mov ecx, dword [edi + 0x68]
call fcn.10063149
test eax, eax
jne 0x1006900e
mov ecx, dword [edi + 0x68]
call fcn.1006314c
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.10063036
mov ecx, eax
call fcn.10063117
sub eax, esi
mov dword [esp + 0x50], eax
sbb edx, edi
push edx
push eax
call fcn.10069d39
pop ecx
pop ecx
test al, al
je 0x10068fd3
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x50]
lea ecx, [esp + 0x20]
call fcn.10069d9a
jmp 0x10063d2a
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.100633ed
mov edi, dword [esp + 0x10]
test al, al
jne 0x10065ea9
mov esi, dword [esp + 0x64]
cmp dword [esp + 0x3c], esi
je 0x100690bc
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10068e7c
push 0x2e
jmp 0x100694ab
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.1006aa36
test eax, eax
jne 0x10063a5c
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, dword [edi + 0x68]
call fcn.10063149
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.1006323f
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.10063158
push esi
push dword [edi + 0x74]
lea ecx, [esp + 0x24]
call fcn.100632ac
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.1006317d
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063117
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
lea ecx, [esp + 0x20]
call fcn.10069e91
jmp 0x10066bb4
push 0x67
push ebx
lea ecx, [esp + 0x24]
call fcn.10069e9c
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
pop ebx
push ebx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push 5
mov edx, ebx
xor ecx, ecx
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push dword [esp + 0x24]
jmp 0x1006919d
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 5
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, edi
call fcn.10063210
test al, al
jne 0x1006944a
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
test byte [esp + 0x44], 0x10
mov esi, eax
je 0x1006919c
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov ecx, dword [edi + 0x2c]
push eax
call fcn.100631be
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100694a9
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.1006319f
test al, al
je 0x1006547e
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100632ac
mov ecx, ebx
sub esi, eax
call fcn.100631ac
add eax, esi
push eax
jmp 0x1006919d
push esi
lea ecx, [esp + 0x20]
call fcn.10069d9a
jmp 0x10066bb4
test al, 0x40
jne 0x100691c3
mov esi, dword [esp + 0x24]
cmp esi, 4
jne 0x100692c2
push 0x2c
jmp 0x100694ab
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
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 0x10069287
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 0x1006922b
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063410
test eax, eax
jne 0x10065ea9
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov al, byte [esi + eax*8 + 0x1009d6b0]
jmp 0x1006923b
test al, 2
je 0x10069235
mov ecx, esi
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 0x1009d1b8]
movzx ecx, al
cmp ecx, 0xff
je 0x10065ea9
mov eax, dword [esp + 0x14]
lea esi, [ecx + eax*8]
test edx, edx
jne 0x1006925e
cmp esi, 6
jne 0x10068c75
mov ecx, edx
call fcn.10069e82
lea ecx, [esp + 0x1c]
test al, al
je 0x1006927f
lea eax, [esi + 0x40]
push eax
call fcn.10069d8d
push dword [esp + 0x3c]
jmp 0x10068d00
lea eax, [esi + 0x80]
jmp 0x1006929a
test al, 0x30
jne 0x10065ea9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
or eax, 6
push eax
call fcn.10069d8d
push dword [esp + 0x3c]
lea ecx, [esp + 0x20]
call fcn.10069eb6
jmp 0x10066bb4
mov eax, dword [esp + 0x44]
test al, 2
je 0x10063d84
mov esi, dword [esp + 0x24]
and esi, 7
test al, 1
je 0x100693ac
and dword [esp + 0x18], 7
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
mov dword [esp + 0x40], eax
call fcn.10063559
pop ecx
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10063036
mov ecx, eax
call fcn.10063410
mov edx, esi
mov ecx, eax
call fcn.10063559
mov esi, dword [esp + 0x40]
mov ebx, eax
mov dword [esp + 0x5c], ebx
pop ecx
test esi, esi
jne 0x1006933b
cmp dword [esp + 0x18], 5
je 0x1006933b
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push eax
call fcn.10069d8d
push ebx
jmp 0x10068d00
push 0xe000
lea ecx, [esp + 0x10]
call fcn.100634dc
mov ebx, eax
shr ebx, 0xd
mov ecx, ebx
sar esi, cl
mov ecx, esi
call fcn.10069e82
test al, al
je 0x1006938e
mov ecx, ebx
mov eax, esi
mov ebx, dword [esp + 0x3c]
shl eax, cl
cmp ebx, eax
jne 0x10069392
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
add eax, 0x40
push eax
call fcn.10069d8d
push dword [esp + 0x58]
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x10068c75
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
sub eax, 0xffffff80
push eax
call fcn.10069d8d
push dword [esp + 0x58]
jmp 0x10068cc2
test al, 0x30
jne 0x100693ff
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push 5
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063410
mov edx, esi
mov ecx, eax
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
jmp 0x10069199
mov ecx, edi
call fcn.10063210
test al, al
je 0x10065ea9
mov edx, dword [esp + 0x14]
xor ecx, ecx
push 4
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
push 5
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063410
mov edx, esi
mov ecx, eax
call fcn.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov ecx, dword [edi + 0x2c]
push 1
call fcn.100631b3
mov ecx, dword [edi + 0x2c]
push eax
add ecx, 0x88
call fcn.10069cf6
test eax, eax
jne 0x1006968b
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.1006312e
test byte [esp + 0x44], 0x10
mov dword [esp + 0x58], eax
je 0x100695e5
mov ecx, ebx
call fcn.10063036
mov ecx, eax
call fcn.10063070
mov ecx, dword [edi + 0x2c]
push eax
call fcn.100631be
mov esi, eax
mov dword [esp + 0x54], esi
test esi, esi
jne 0x100694b1
push 0xc
pop ecx
jmp 0x1006968e
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006aa36
test eax, eax
jne 0x10063a5c
lea eax, [edi + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x48], eax
call fcn.10063149
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.1006323f
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.10063158
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.100632ac
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.1006317d
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.10063197
test al, al
je 0x1006956f
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
call fcn.100631ac
add dword [esi + 0x20], eax
mov ecx, dword [esp + 0x54]
adc dword [esi + 0x24], edx
call fcn.10063193
mov ecx, eax
call fcn.10063149
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x14], eax
jmp 0x100690a0
push 0xfffffffffffffffc
pop eax
sub eax, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
push dword [edi + 0x6c]
lea ecx, [esp + 0x20]
call fcn.100632ac
push ebx
push 0
lea ecx, [esp + 0xd8]
mov esi, eax
call fcn.10063158
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x40]
mov ecx, dword [ecx]
push esi
call fcn.10063149
mov ecx, dword [edi + 0x2c]
push eax
push dword [esp + 0x64]
call fcn.1006a659
mov esi, eax
test esi, esi
je 0x1006968b
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x100695d6
call fcn.10063149
mov dword [esi + 8], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.100632b5
jmp 0x10066bb4
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x4c]
push 3
push eax
call fcn.1006aa36
test eax, eax
jne 0x10063a5c
mov ecx, dword [edi + 0x68]
call fcn.10063149
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x68]
call fcn.10063149
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.10063158
mov ecx, dword [esp + 0x38]
movzx eax, cl
lea ecx, [esp + 0x1c]
push eax
push dword [edi + 0x74]
call fcn.100632ac
mov ecx, dword [esp + 0x50]
push eax
lea ecx, [ecx + 8]
call fcn.1006317d
mov ecx, edi
call fcn.1006323f
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.10063153
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 0x100690a2
xor ecx, ecx
inc ecx
call fcn.10063036
jmp 0x10063a5c
mov edi, dword [ebp + 0xc]
cmp esi, 0x49
jne case.default.0x10063b93
mov ecx, dword [ebp + 0x14]
call fcn.10063070
mov ecx, edi
mov esi, eax
call fcn.10063070
mov edx, esi
mov ecx, eax
call fcn.10063537
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.10063070
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 0x1006978c
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x1006978c
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
je 0x10069745
mov ecx, dword [esp + 0x48]
call fcn.10063452
test al, al
jne 0x10069779
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 0x10069771
shr edx, 2
test dl, 1
je 0x10069779
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x10069786
shr edx, 3
test dl, 1
jne 0x10069780
push 0x2a
jmp 0x1006760b
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x48]
mov ecx, 0xd78150
test byte [eax + 3], 1
je 0x100697ac
test ecx, esi
jne 0x100697b4
test dword [esp + 0x20], 0xc00
jne 0x100697ac
or esi, 0x10
test ecx, esi
je 0x10069847
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.10069d9a
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.10063617
jmp 0x10063d43
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 0x100698c5
mov ecx, esi
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x1009d208]
movzx ecx, si
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x1c]
push eax
call fcn.10069d9a
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 0x10069827
push 0xc5
lea ecx, [esp + 0x20]
call fcn.10069d8d
mov eax, esi
lea ecx, [esp + 0x1c]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.10069d8d
push dword [esp + 0xc]
lea ecx, [esp + 0x20]
call fcn.10069d8d
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.10063559
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10069d8d
jmp 0x1006982d
mov edi, eax
jmp 0x10063d84