Function at 0x140130f70
Capabilities:
Get geographical location

Disassembly:
mov r11, rsp
push rbp
push rsi
push r12
push r13
lea rbp, [r11 - 0x3f8]
sub rsp, 0x4d8
mov rax, qword [0x14020a008]
xor rax, rsp
mov qword [rbp + 0x390], rax
mov r12, qword [rbp + 0x420]
mov rax, rcx
mov qword [r11 + 0x10], rbx
mov rbx, r9
mov qword [r11 - 0x28], rdi
mov edi, edx
mov qword [r11 - 0x30], r14
mov r14, r8
mov qword [r11 - 0x38], r15
mov r15, r8
mov qword [rsp + 0x70], r8
xor r8d, r8d
test r15, r15
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x50], rcx
mov r13d, r8d
sete sil
mov qword [rsp + 0x78], r12
test byte [0x140210bd0], 1
jne 0x1401310c9
lock bts qword [0x140210bd0], 0x1f
jb 0x1401310aa
lea r9d, ds:[r8 + 4]
mov ecx, 0x400
lea r8, [rbp - 0x80]
lea edx, [r13 + 0xe]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14013103a
mov rax, qword [rbp - 0x80]
test ax, ax
je 0x14013103a
movzx edx, word [0x140210be0]
cmp word [rbp - 0x7e], r13w
cmove dx, ax
mov word [0x140210be0], dx
mov r9d, 4
lea r8, [rbp - 0x80]
mov ecx, 0x400
lea edx, [r9 + 0xb]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14013107a
mov rax, qword [rbp - 0x80]
test ax, ax
je 0x14013107a
movzx edx, word [0x140210be4]
cmp word [rbp - 0x7e], r13w
cmove dx, ax
mov word [0x140210be4], dx
cmp word [0x140210be0], 0x2e
je 0x14013109c
lea rdx, [0x140192200]
xor ecx, ecx
call fcn.14016c1c8
mov qword [0x1402175b0], rax
lea rcx, [0x140210bd0]
call sym.ProcessHacker.exe_PhfSetEvent
jmp 0x1401310c1
test byte [0x140210bd0], 1
jne 0x1401310c9
xor edx, edx
lea rcx, [0x140210bd0]
call sym.ProcessHacker.exe_PhfWaitForEvent
mov rax, qword [rsp + 0x50]
xor r8d, r8d
nop dword [rax]
test edi, edi
je 0x140131e5c
movaps xmmword [rsp + 0x4b0], xmm6
lea r11, [0x140000000]
movsd xmm6, qword [0x1401e9500]
mov r9d, 2
movaps xmmword [rsp + 0x4a0], xmm7
movsd xmm7, qword [0x1401e94a8]
mov byte [rsp + 0x30], sil
jmp 0x140131113
xor r8d, r8d
dec edi
mov qword [rbp - 0x80], rax
mov rdx, rax
mov dword [rsp + 0x58], edi
mov rdi, rax
mov qword [rsp + 0x68], r13
mov r10, rax
mov r14d, r8d
add rax, 0x20
mov qword [rsp + 0x50], rax
mov r12d, dword [rdi]
mov eax, r12d
and eax, 0x3f
cmp eax, 0xc
ja case.default.0x140131156
cdqe
mov ecx, dword [r11 + rax*4 + 0x131edc]
add rcx, r11
jmp rcx
test sil, sil
jne 0x140131181
lea rax, [r13 + 2]
cmp rbx, rax
jae 0x140131178
add r15, 2
mov byte [rsp + 0x30], 1
add r13, 2
jmp case.default.0x140131156
movzx eax, word [r10 + 0x10]
mov word [r15], ax
add r15, 2
add r13, 2
jmp case.default.0x140131156
nop
test sil, sil
jne 0x1401311c8
mov r8, qword [r10 + 0x10]
lea rax, [r8 + r13]
cmp rbx, rax
jae 0x1401311b9
mov rax, r8
mov byte [rsp + 0x30], 1
shr rax, 1
add r13, r8
lea r15, [r15 + rax*2]
jmp case.default.0x140131156
mov rdx, qword [r10 + 0x18]
mov rcx, r15
call fcn.140165120
mov r10, rdi
mov rax, qword [r10 + 0x10]
shr rax, 1
add r13, qword [r10 + 0x10]
lea r15, [r15 + rax*2]
jmp case.default.0x140131156
mov rcx, qword [r10 + 0x10]
call sym.ProcessHacker.exe_PhCountStringZ
lea rdi, [rax + rax]
test sil, sil
jne 0x14013121d
lea rax, [rdi + r13]
cmp rbx, rax
jae 0x14013120a
mov rax, rdi
mov byte [rsp + 0x30], 1
shr rax, 1
add r13, rdi
jmp 0x140131bf5
mov rax, qword [rbp - 0x80]
mov r8, rdi
mov rcx, r15
mov rdx, qword [rax + 0x10]
call fcn.140165120
mov rax, rdi
shr rax, 1
add r13, rdi
jmp 0x140131bf5
nop dword [rax + rax]
cmp r12d, 3
jne 0x140131240
mov rbx, qword [r10 + 0x18]
mov rdi, qword [r10 + 0x10]
jmp 0x140131259
mov rbx, qword [r10 + 0x10]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140131250
mov r8d, edi
lea rcx, [rsp + 0x40]
mov rdx, rbx
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeSize]
nop word [rax + rax]
test eax, eax
js 0x140131bf9
test sil, sil
mov rsi, qword [rsp + 0x38]
jne 0x1401312af
mov ecx, dword [rsp + 0x40]
lea rax, [rcx + r13]
cmp rsi, rax
jae 0x140131296
mov byte [rsp + 0x30], 1
jmp 0x1401312b3
mov edx, ecx
mov dword [rsp + 0x20], edi
mov rcx, r15
mov r9, rbx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
test eax, eax
js 0x1401312c0
mov ecx, dword [rsp + 0x40]
mov rax, rcx
shr rax, 1
add r13, rcx
lea r15, [r15 + rax*2]
mov r10, qword [rbp - 0x80]
jmp 0x140131c02
mov eax, dword [r10 + 0x10]
mov r14d, eax
mov edi, eax
shr r14d, 0x1f
neg edi
test eax, eax
cmovns edi, eax
jmp 0x1401312e3
mov edi, dword [r10 + 0x10]
mov r11d, 0xa
bt r12d, 8
jae 0x140131301
movzx ecx, byte [r10 + 0xa]
lea eax, [rcx - 2]
cmp al, 0x43
ja 0x140131301
mov r11d, ecx
bt r12d, 0x1d
lea r10, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovae r10, rax
lea r9, [rbp + 0x38e]
xor esi, esi
mov ebx, esi
test edi, edi
je 0x1401313ab
bt r12d, 0x10
jae 0x140131385
mov r8d, esi
nop word [rax + rax]
xor edx, edx
mov eax, edi
div r11d
inc ebx
inc r8d
mov edi, eax
movsx ecx, byte [rdx + r10]
mov word [r9], cx
sub r9, 2
cmp r8d, 3
jne 0x140131379
test eax, eax
je 0x1401313a1
movzx eax, word [0x140210be4]
mov r8d, esi
mov word [r9], ax
sub r9, 2
inc ebx
test edi, edi
jne 0x140131340
lea eax, [rdi + 1]
lea edi, [rax + 0x2f]
jmp 0x1401313c5
xor edx, edx
mov eax, edi
div r11d
inc ebx
mov edi, eax
movsx ecx, byte [rdx + r10]
mov word [r9], cx
sub r9, 2
test eax, eax
jne 0x140131385
mov eax, 1
lea edi, [rax + 0x2f]
jmp 0x1401313c5
mov edi, 0x30
lea r9, [rbp + 0x38c]
mov eax, 1
mov word [rbp + 0x38e], di
mov ebx, eax
test r14d, r14d
je 0x1401313ce
mov esi, eax
jmp 0x1401313d6
bt r12d, 0x11
cmovb esi, eax
mov eax, r12d
and eax, 0x50000
cmp eax, 0x40000
jne 0x140131406
mov rax, qword [rbp - 0x80]
movzx ecx, word [rax + 6]
lea eax, [rsi + rbx]
cmp eax, ecx
jae 0x140131406
mov edx, ecx
or r14d, 4
sub edx, esi
sub edx, ebx
mov dword [rsp + 0x44], edx
add esi, edx
jmp 0x14013140a
mov edx, dword [rsp + 0x44]
cmp byte ds:[rsp + 0x30], 0
jne 0x140131491
lea eax, [rsi + rbx]
lea rax, [rax*2]
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14013143d
lea eax, [rsi + rbx]
mov byte [rsp + 0x30], 1
lea r13, [r13 + rax*2]
jmp 0x140131bf9
test r14b, 1
je 0x14013144a
mov eax, 0x2d
jmp 0x140131457
bt r12d, 0x11
jae 0x14013145f
mov eax, 0x2b
mov word [r15], ax
add r15, 2
test r14b, 4
je 0x14013147a
test rdx, rdx
je 0x140131476
movzx eax, di
mov rcx, rdx
mov rdi, r15
rep stosw word [rdi], ax
lea r15, [r15 + rdx*2]
mov edi, ebx
lea rdx, [r9 + 2]
add rdi, rdi
mov rcx, r15
mov r8, rdi
call fcn.140165120
add r15, rdi
lea eax, [rsi + rbx]
lea r13, [r13 + rax*2]
jmp 0x140131bf9
mov rax, qword [rdx + 0x10]
mov r14, rax
cqo
mov rdi, rax
shr r14, 0x3f
xor rdi, rdx
sub rdi, rdx
jmp 0x1401314ba
mov rdi, qword [r10 + 0x10]
mov r10d, 0xa
bt r12d, 8
jae 0x1401314d9
mov rax, qword [rbp - 0x80]
movzx ecx, byte [rax + 0xa]
lea eax, [rcx - 2]
cmp al, 0x43
ja 0x1401314d9
mov r10d, ecx
bt r12d, 0x1d
lea r11, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovae r11, rax
lea r9, [rbp + 0x38e]
xor esi, esi
mov ebx, esi
test rdi, rdi
je 0x14013158b
bt r12d, 0x10
jae 0x140131560
mov r8d, esi
nop
xor edx, edx
mov rax, rdi
div r10
inc ebx
inc r8d
mov rdi, rax
mov eax, edx
movsx ecx, byte [rax + r11]
mov word [r9], cx
sub r9, 2
cmp r8d, 3
jne 0x14013154f
test rdi, rdi
je 0x140131581
movzx eax, word [0x140210be4]
mov r8d, esi
mov word [r9], ax
sub r9, 2
inc ebx
nop
test rdi, rdi
jne 0x140131510
lea eax, [rdi + 1]
lea edi, [rax + 0x2f]
jmp 0x1401315a5
xor edx, edx
mov rax, rdi
div r10
inc ebx
mov rdi, rax
mov eax, edx
movsx ecx, byte [rax + r11]
mov word [r9], cx
sub r9, 2
test rdi, rdi
jne 0x140131560
mov eax, 1
lea edi, [rax + 0x2f]
jmp 0x1401315a5
mov edi, 0x30
lea r9, [rbp + 0x38c]
mov eax, 1
mov word [rbp + 0x38e], di
mov ebx, eax
test r14d, r14d
je 0x1401315ae
mov esi, eax
jmp 0x1401315b6
bt r12d, 0x11
cmovb esi, eax
mov eax, r12d
and eax, 0x50000
cmp eax, 0x40000
jne 0x1401315e6
mov rax, qword [rbp - 0x80]
movzx ecx, word [rax + 6]
lea eax, [rsi + rbx]
cmp eax, ecx
jae 0x1401315e6
mov edx, ecx
or r14d, 4
sub edx, esi
sub edx, ebx
mov dword [rsp + 0x48], edx
add esi, edx
jmp 0x1401315ea
mov edx, dword [rsp + 0x48]
cmp byte ds:[rsp + 0x30], 0
jne 0x140131491
lea eax, [rsi + rbx]
lea rax, [rax*2]
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14013161d
lea eax, [rsi + rbx]
mov byte [rsp + 0x30], 1
lea r13, [r13 + rax*2]
jmp 0x140131bf9
test r14b, 1
je 0x14013162a
mov eax, 0x2d
jmp 0x140131637
bt r12d, 0x11
jae 0x14013163f
mov eax, 0x2b
mov word [r15], ax
add r15, 2
test r14b, 4
je 0x14013165a
test rdx, rdx
je 0x140131656
movzx eax, di
mov rcx, rdx
mov rdi, r15
rep stosw word [rdi], ax
lea r15, [r15 + rdx*2]
mov edi, ebx
lea rdx, [r9 + 2]
add rdi, rdi
mov rcx, r15
mov r8, rdi
call fcn.140165120
lea eax, [rsi + rbx]
add r15, rdi
lea r13, [r13 + rax*2]
jmp 0x140131bf9
test r12b, 0x40
je 0x14013169a
movzx r8d, word ds:[r10 + 4]
mov eax, 0xa2
cmp r8d, eax
jbe 0x1401316a0
mov r8d, eax
jmp 0x1401316a0
mov r8d, 6
movsd xmm0, qword [r10 + 0x10]
lea r9, [rbp - 0x6f]
mov edx, r12d
lea rbx, [rbp - 0x6f]
call fcn.14012f970
mov r8d, dword [rdi]
mov r10, rdi
bt r8d, 0xf
jae 0x1401316cf
lea rcx, [rbp - 0x6f]
call fcn.14012fac0
mov r8d, dword [rdi]
lea rax, [rbp - 0x6f]
mov r9, 0xffffffffffffffff
nop word [rax + rax]
inc r9
cmp byte [rax + r9], 0
jne 0x1401316e0
cmp byte [rbp - 0x6f], 0x2d
mov r14d, 2
jne 0x140131705
dec r9d
lea esi, [r14 - 1]
xor ecx, ecx
lea rbx, [rbp - 0x6e]
jmp 0x140131715
mov ecx, 0
bt r8d, 0x11
mov esi, ecx
cmovb esi, r14d
mov eax, r8d
and eax, 0x13000
cmp eax, 0x10000
jne 0x1401318e4
movzx eax, byte [rbx]
mov rdi, rbx
sub al, 0x30
cmp al, 0xa
jae 0x14013174d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdi + 1]
inc rdi
sub al, 0x30
cmp al, 0xa
jb 0x140131740
mov r10d, edi
sub r10d, ebx
je 0x14013176b
lea ecx, [r10 + 2]
mov eax, 0xaaaaaaab
mul ecx
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x14013176e
mov r11d, ecx
movzx r12d, byte [rsp + 0x30]
lea eax, [r11 + r9]
lea ecx, [rax + rax]
test r12b, r12b
jne 0x1401317b5
test esi, esi
lea eax, [rcx + 2]
cmove eax, ecx
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x1401317b5
lea rdx, ds:[r13 + 2]
mov byte [rsp + 0x30], 1
test esi, esi
lea eax, [r11 + r10]
cmove rdx, r13
lea r13, [rdx + rax*2]
jmp 0x140131bf9
lea r8d, ds:[r10 + 2]
mov eax, 0xaaaaaaab
mul r8d
mov ecx, r10d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r8d, eax
test r12b, r12b
jne 0x140131835
test sil, 1
je 0x1401317e2
mov eax, 0x2d
jmp 0x1401317ed
test sil, 2
je 0x1401317f5
mov eax, 0x2b
mov word [r15], ax
add r15, 2
test r10d, r10d
je 0x140131835
nop word [rax + rax]
movsx eax, byte [rbx]
lea rbx, [rbx + 1]
mov word [r15], ax
dec ecx
mov eax, r8d
add r15, 2
dec r8d
test eax, eax
jne 0x140131831
test ecx, ecx
je 0x140131835
movzx eax, word [0x140210be4]
mov r8d, r14d
mov word [r15], ax
add r15, 2
test ecx, ecx
jne 0x140131800
test esi, esi
lea rdx, [r13 + 2]
lea eax, [r11 + r10]
cmove rdx, r13
lea r13, [rdx + rax*2]
test r12b, r12b
jne 0x140131bf9
sub r9d, r10d
mov rcx, r15
mov edx, r9d
mov r8d, r9d
and rdx, 0xfffffffffffffffc
je 0x14013189c
nop dword [rax + rax]
movzx eax, byte [rdi]
mov word [rcx], ax
movzx eax, byte [rdi + 1]
mov word [rcx + 2], ax
movzx eax, byte [rdi + 2]
mov word [rcx + 4], ax
movzx eax, byte [rdi + 3]
add rdi, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x140131870
mov rax, r8
and eax, 3
sub rax, 1
je 0x1401318d0
sub rax, 1
je 0x1401318c3
nop
cmp rax, 1
jne 0x1401318d6
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
lea r15, [r15 + r9*2]
lea r13, [r13 + r9*2]
jmp 0x140131bf9
test esi, esi
setne cl
mov rdx, rcx
bt r8d, 0x12
jae 0x14013191a
movzx r8d, word [r10 + 6]
mov edi, r9d
lea rax, [rcx + rdi]
cmp rax, r8
jae 0x14013191a
mov edx, r8d
or esi, 4
sub rdx, rdi
mov r8, rdx
sub r8, rcx
mov qword [rsp + 0x60], r8
jmp 0x14013191f
mov r8, qword [rsp + 0x60]
movzx r12d, byte [rsp + 0x30]
test r12b, r12b
jne 0x14013199c
mov eax, r9d
add rax, rdx
lea rax, [rax*2]
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x140131955
mov byte ds:[rsp + 0x30], 1
lea r13, [r13 + rdx*2]
jmp case.default.0x140131156
test sil, 1
je 0x140131962
mov eax, 0x2d
jmp 0x14013196d
test sil, 2
je 0x140131975
mov eax, 0x2b
mov word [r15], ax
add r15, 2
test sil, 4
je 0x14013199c
test r8, r8
je 0x140131991
mov eax, 0x30
mov rdi, r15
movzx eax, ax
mov rcx, r8
rep stosw word [rdi], ax
lea r15, [r15 + r8*2]
lea r13, [r13 + rdx*2]
jmp 0x1401319aa
lea r13, [r13 + rdx*2]
test r12b, r12b
jne case.default.0x140131156
mov edx, r9d
mov rcx, r15
mov edi, r9d
and rdx, 0xfffffffffffffffc
je 0x1401319ec
nop dword [rax]
movzx eax, byte [rbx]
mov word [rcx], ax
movzx eax, byte [rbx + 1]
mov word [rcx + 2], ax
movzx eax, byte [rbx + 2]
mov word [rcx + 4], ax
movzx eax, byte [rbx + 3]
add rbx, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x1401319c0
mov rax, rdi
and eax, 3
sub rax, 1
je 0x140131a1e
sub rax, 1
je 0x140131a11
cmp rax, 1
jne 0x140131a24
movzx eax, byte [rbx]
mov word [rcx], ax
add rcx, 2
inc rbx
movzx eax, byte [rbx]
mov word [rcx], ax
add rcx, 2
inc rbx
movzx eax, byte [rbx]
mov word [rcx], ax
lea r15, ds:[r15 + rdi*2]
lea r13, [r13 + rdi*2]
jmp case.default.0x140131156
mov rdx, qword [r10 + 0x10]
mov ebx, r8d
xorps xmm0, xmm0
test rdx, rdx
js 0x140131a4b
cvtsi2sd xmm0, rdx
jmp 0x140131a63
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm0, rcx
addsd xmm0, xmm0
test rdx, rdx
jne 0x140131aa0
test sil, sil
jne 0x140131a93
lea rax, [r13 + 2]
cmp qword [rsp + 0x38], rax
jae 0x140131a8a
add r15, 2
mov byte [rsp + 0x30], 1
add r13, 2
jmp case.default.0x140131156
mov eax, 0x30
mov word [r15], ax
add r15, 2
add r13, 2
jmp case.default.0x140131156
bt r12d, 8
jae 0x140131aae
movzx eax, byte [r10 + 0xa]
jmp 0x140131ab4
mov eax, dword [0x140211968]
comisd xmm0, xmm6
jb 0x140131ad5
nop word [rax + rax]
cmp ebx, 7
jae 0x140131ad5
cmp ebx, eax
jae 0x140131ad5
mulsd xmm0, xmm7
inc ebx
comisd xmm0, xmm6
jae 0x140131ac0
test r12b, 0x40
je 0x140131ae2
movzx eax, word [r10 + 4]
jmp 0x140131ae5
mov eax, r9d
movzx r8d, ax
lea r9, [rbp - 0x6f]
mov eax, 0xa2
lea rsi, [rbp - 0x6f]
cmp r8d, eax
mov edx, 0x1804b
cmova r8d, eax
call fcn.14012f970
lea rcx, ds:[rbp - 0x6f]
call fcn.14012fac0
lea rax, [rbp - 0x6f]
mov r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], 0
jne 0x140131b20
cmp byte ds:[rbp - 0x6f], 0x2d
jne 0x140131b3f
mov r14d, 1
lea rsi, [rbp - 0x6e]
dec r9d
movzx eax, byte [rsi]
mov rdi, rsi
sub al, 0x30
cmp al, 0xa
jae 0x140131b5d
nop dword [rax + rax]
movzx eax, byte [rdi + 1]
inc rdi
sub al, 0x30
cmp al, 0xa
jb 0x140131b50
mov r10d, edi
sub r10d, esi
je 0x140131b7b
lea ecx, [r10 + 2]
mov eax, 0xaaaaaaab
mul ecx
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x140131b7e
xor r11d, r11d
movzx r12d, byte ds:[rsp + 0x30]
lea eax, [r11 + r9]
lea ecx, [rax + rax]
test r12b, r12b
jne 0x140131c55
test r14d, r14d
lea eax, [rcx + 2]
cmove eax, ecx
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x140131c55
test r14d, r14d
mov byte [rsp + 0x30], 1
lea rdx, [r13 + 2]
cmove rdx, r13
lea eax, [r11 + r10]
lea rsi, [rdx + rax*2]
mov edi, ebx
lea rbx, [0x140000000]
add rdi, rdi
lea r13, [rsi + 2]
mov rcx, qword [rbx + rdi*8 + 0x210c20]
lea rax, [rcx + 2]
shr rax, 1
add r13, rcx
lea r15, [r15 + rax*2]
mov r10, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x38]
mov ecx, dword ds:[r10]
mov r8, r13
sub r8, qword [rsp + 0x68]
test ecx, 0xc0000000
je 0x140131e1a
movzx ebx, word [r10 + 6]
add rbx, rbx
cmp r8, rbx
jae 0x140131e1a
sub rbx, r8
cmp byte [rsp + 0x30], 0
jne 0x140131e0d
lea rax, [rbx + r13]
cmp rsi, rax
jae 0x140131dbe
mov byte ds:[rsp + 0x30], 1
jmp 0x140131e0d
lea r8d, ds:[r10 + 2]
mov eax, 0xaaaaaaab
mul r8d
mov ecx, r10d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r8d, eax
test r12b, r12b
jne 0x140131cc8
test r14d, r14d
je 0x140131c87
mov eax, 0x2d
mov word [r15], ax
add r15, 2
test r10d, r10d
je 0x140131cc8
nop dword [rax]
movsx eax, byte [rsi]
lea rsi, [rsi + 1]
mov word [r15], ax
dec ecx
mov eax, r8d
add r15, 2
dec r8d
test eax, eax
jne 0x140131cc4
test ecx, ecx
je 0x140131cc8
movzx eax, word [0x140210be4]
mov r8d, 2
mov word [r15], ax
add r15, 2
test ecx, ecx
jne 0x140131c90
test r14d, r14d
lea rdx, [r13 + 2]
lea eax, [r11 + r10]
cmove rdx, r13
lea rsi, [rdx + rax*2]
test r12b, r12b
jne 0x140131bd3
sub r9d, r10d
mov rcx, r15
mov edx, r9d
mov r8d, r9d
and rdx, 0xfffffffffffffffc
je 0x140131d2c
nop word [rax + rax]
movzx eax, byte [rdi]
mov word [rcx], ax
movzx eax, byte [rdi + 1]
mov word [rcx + 2], ax
movzx eax, byte [rdi + 2]
mov word [rcx + 4], ax
movzx eax, byte [rdi + 3]
add rdi, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x140131d00
mov rax, r8
and eax, 3
sub rax, 1
je 0x140131d5e
sub rax, 1
je 0x140131d51
cmp rax, 1
jne 0x140131d64
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
mov edx, ebx
lea rsi, [rsi + r9*2]
add rdx, rdx
mov edi, ebx
lea rbx, [0x140000000]
lea rcx, [rsi + 2]
lea r15, [r15 + r9*2]
add rcx, qword [rbx + rdx*8 + 0x210c20]
cmp qword [rsp + 0x38], rcx
jae 0x140131d97
mov byte [rsp + 0x30], 1
jmp 0x140131bdc
mov eax, 0x20
lea rcx, [r15 + 2]
mov word [r15], ax
mov r8, qword [rbx + rdx*8 + 0x210c20]
mov rdx, qword [rbx + rdx*8 + 0x210c28]
call fcn.140165120
jmp 0x140131bdc
test cl, cl
jns 0x140131dc9
movzx r14d, word [r10 + 8]
jmp 0x140131dcf
mov r14d, 0x20
mov rsi, rbx
shr rsi, 1
test ecx, ecx
jns 0x140131de3
test rsi, rsi
je 0x140131e0d
mov rdi, r15
jmp 0x140131e03
mov rax, r8
mov rdi, r15
shr rax, 1
add rax, rax
sub rdi, rax
mov rdx, rdi
lea rcx, [rdi + rsi*2]
call fcn.140165120
test rsi, rsi
je 0x140131e0d
mov rcx, rsi
movzx eax, r14w
rep stosw word [rdi], ax
mov rax, rbx
shr rax, 1
add r13, rbx
lea r15, [r15 + rax*2]
mov edi, dword [rsp + 0x58]
lea r11, [0x140000000]
movzx esi, byte [rsp + 0x30]
mov r9d, 2
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
test edi, edi
jne 0x140131110
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
movaps xmm7, xmmword [rsp + 0x4a0]
movaps xmm6, xmmword [rsp + 0x4b0]
mov rdi, qword [rsp + 0x4d0]
test sil, sil
jne 0x140131e78
lea rax, ds:[r13 + 2]
cmp rbx, rax
jae 0x140131ed1
mov sil, 1
test r14, r14
je 0x140131e88
test rbx, rbx
je 0x140131e88
xor eax, eax
mov word [r14], ax
mov r15, qword [rsp + 0x4c0]
mov r14, qword [rsp + 0x4c8]
mov rbx, qword [rsp + 0x508]
test r12, r12
je 0x140131ead
lea rax, [r13 + 2]
mov qword [r12], rax
test sil, sil
sete al
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.140161390
add rsp, 0x4d8
pop r13
pop r12
pop rsi
pop rbp
nop
ret
xor eax, eax
mov word [r15], ax
jmp 0x140131e88