Function at 0x140003947
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x470
mov word [rsp + 0x462], 0x209
lea rcx, [rsp + 0x40]
mov r8d, 0xc2
lea rdx, [0x14058cb00]
call sub.msvcrt.dll_memcpy
cmp byte [0x140594228], 0
jne 0x1400039b7
mov byte [0x140594302], 1
mov eax, 0
lea rcx, [0x140594240]
movzx edx, word [rsp + rax*2 + 0x40]
mov word [rcx + rax*2], dx
add rax, 1
cmp rax, 0x61
jne 0x140003991
mov byte [0x140594228], 1
lea rcx, [0x1400038bb]
call fcn.1400014f0
cmp byte [0x140594302], 0
je 0x1400039ec
lea rdx, [0x140594240]
lea rcx, [rdx + 0xc2]
movzx eax, word [rdx]
add ax, 0x2f3b
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rdx, rcx
jne 0x1400039ce
mov byte [0x140594302], 0
lea rcx, [0x140594240]
call sub.msvcrt.dll_wcslen
add eax, eax
mov word [rsp + 0x460], ax
lea rcx, [rsp + 0x40]
mov r8d, 0xc2
lea rdx, [0x14058cb00]
call sub.msvcrt.dll_memcpy
cmp byte [0x140594140], 0
jne 0x140003a5b
mov byte [0x140594222], 1
mov eax, 0
lea rcx, [0x140594160]
movzx edx, word [rsp + rax*2 + 0x40]
mov word [rcx + rax*2], dx
add rax, 1
cmp rax, 0x61
jne 0x140003a35
mov byte [0x140594140], 1
lea rcx, [0x1400038d8]
call fcn.1400014f0
cmp byte [0x140594222], 0
je 0x140003a90
lea rdx, [0x140594160]
lea rcx, [rdx + 0xc2]
movzx eax, word [rdx]
add ax, 0x2f3b
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rcx, rdx
jne 0x140003a72
mov byte [0x140594222], 0
lea rax, [0x140594160]
mov qword [rsp + 0x468], rax
mov word [rsp + 0x452], 0x209
mov word [rsp + 0x40], 0xdd
mov word [rsp + 0x42], 0xff
mov word [rsp + 0x44], 0xfc
mov word [rsp + 0x46], 3
mov word [rsp + 0x48], 0xf6
mov word [rsp + 0x4a], 0xf1
mov word [rsp + 0x4c], 0xf2
mov word [rsp + 0x4e], 0xff
mov word [rsp + 0x50], 0xdb
mov word [rsp + 0x52], 0xee
mov word [rsp + 0x54], 0xfa
mov word [rsp + 0x56], 0xf2
mov word [rsp + 0x58], 0x8d
cmp byte [0x140594110], 0
jne 0x140003b46
mov byte [0x14059413a], 1
mov eax, 0
lea rcx, [0x140594120]
movzx edx, word [rsp + rax*2 + 0x40]
mov word [rcx + rax*2], dx
add rax, 1
cmp rax, 0xd
jne 0x140003b20
mov byte [0x140594110], 1
lea rcx, [0x1400038f5]
call fcn.1400014f0
cmp byte [0x14059413a], 0
je 0x140003b78
lea rdx, [0x140594120]
lea rcx, [rdx + 0x1a]
movzx eax, word [rdx]
sub ax, 0x7a8d
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rdx, rcx
jne 0x140003b5a
mov byte [0x14059413a], 0
lea rcx, [0x140594120]
call sub.msvcrt.dll_wcslen
add eax, eax
mov word [rsp + 0x450], ax
mov word [rsp + 0x40], 0xdd
mov word [rsp + 0x42], 0xff
mov word [rsp + 0x44], 0xfc
mov word [rsp + 0x46], 3
mov word [rsp + 0x48], 0xf6
mov word [rsp + 0x4a], 0xf1
mov word [rsp + 0x4c], 0xf2
mov word [rsp + 0x4e], 0xff
mov word [rsp + 0x50], 0xdb
mov word [rsp + 0x52], 0xee
mov word [rsp + 0x54], 0xfa
mov word [rsp + 0x56], 0xf2
mov word [rsp + 0x58], 0x8d
cmp byte [0x1405940e0], 0
jne 0x140003c2b
mov byte [0x14059410a], 1
mov eax, 0
lea rcx, [0x1405940f0]
movzx edx, word [rsp + rax*2 + 0x40]
mov word [rcx + rax*2], dx
add rax, 1
cmp rax, 0xd
jne 0x140003c05
mov byte [0x1405940e0], 1
lea rcx, [0x14000390f]
call fcn.1400014f0
cmp byte [0x14059410a], 0
je 0x140003c5d
lea rdx, [0x1405940f0]
lea rcx, [rdx + 0x1a]
movzx eax, word [rdx]
sub ax, 0x7a8d
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rdx, rcx
jne 0x140003c3f
mov byte [0x14059410a], 0
lea rax, [0x1405940f0]
mov qword [rsp + 0x458], rax
mov qword [rsp + 0x448], 0
mov dword [rsp + 0x110], 0x30
mov qword [rsp + 0x118], 0
mov dword [rsp + 0x128], 0x40
lea rax, [rsp + 0x460]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x448]
lea r8, [rsp + 0x110]
mov edx, 8
call fcn.140005cb6
mov ebx, 0
lea rsi, [0x1405940d0]
lea rdi, [0x1405940b0]
lea rbp, [0x140594098]
test eax, eax
jns 0x140003e68
mov eax, 0
add rsp, 0x470
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov byte [rbp + 8], 0
mov r8d, 3
mov rdx, rbp
mov rcx, r12
call sub.msvcrt.dll__wcsnicmp
test eax, eax
je 0x140004114
mov word [rsp + 0x40], 0xfc
mov word [rsp + 0x42], 0x1f
mov word [rsp + 0x44], 0x31
mov word [rsp + 0x46], 0x1c
mov word [rsp + 0x48], 0x29
mov word [rsp + 0x4a], 0x1e
mov word [rsp + 0x4c], 0x20
mov word [rsp + 0x4e], 0x1f
mov word [rsp + 0x50], 0xdb
mov word [rsp + 0x52], 8
mov word [rsp + 0x54], 0x24
mov word [rsp + 0x56], 0x1e
mov word [rsp + 0x58], 0x2d
mov word [rsp + 0x5a], 0x2a
mov word [rsp + 0x5c], 0xdb
mov word [rsp + 0x5e], 0xff
mov word [rsp + 0x60], 0x20
mov word [rsp + 0x62], 0x31
mov word [rsp + 0x64], 0x24
mov word [rsp + 0x66], 0x1e
mov word [rsp + 0x68], 0x20
mov word [rsp + 0x6a], 0x2e
mov word [rsp + 0x6c], 0xbb
cmp byte [0x140594048], 0
jne 0x140003e11
mov byte [0x14059408e], 1
mov eax, 0
lea rcx, [0x140594060]
movzx edx, word [rsp + rax*2 + 0x40]
mov word [rcx + rax*2], dx
add rax, 1
cmp rax, 0x17
jne 0x140003deb
mov byte [0x140594048], 1
lea rcx, [0x14000392c]
call fcn.1400014f0
cmp byte [0x14059408e], 0
je 0x140003e43
lea rdx, [0x140594060]
lea rcx, [rdx + 0x2e]
movzx eax, word [rdx]
sub ax, 0x3abb
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rcx, rdx
jne 0x140003e25
mov byte [0x14059408e], 0
lea rdx, [0x140594060]
mov rcx, r12
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x140004114
mov rcx, qword [rsp + 0x38]
call fcn.140005b9f
add ebx, 1
lea rax, [rsp + 0x444]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
lea r9, [rsp + 0x340]
mov r8d, 0
mov edx, ebx
mov rcx, qword [rsp + 0x448]
call fcn.140005cc2
cmp eax, 0x8000001a
je 0x140004135
lea rax, [rsp + 0x350]
mov qword [rsp + 0x468], rax
mov eax, dword [rsp + 0x34c]
mov word [rsp + 0x460], ax
mov word [rsp + 0x462], ax
mov dword [rsp + 0x110], 0x30
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x128], 0x240
lea rax, [rsp + 0x460]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x38]
lea r8, [rsp + 0x110]
mov edx, 1
call fcn.140005cb6
test eax, eax
js 0x140003e65
lea rdx, [rsp + 0x450]
lea rax, [rsp + 0x444]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x200
lea r9, [rsp + 0x140]
mov r8d, 1
mov rcx, qword [rsp + 0x38]
call fcn.140005cdd
test eax, eax
js 0x140003e5b
mov eax, dword [rsp + 0x148]
lea r12, [rsp + rax + 0x140]
mov word [rsp + 0x40], 0x8f
mov word [rsp + 0x42], 0x97
mov word [rsp + 0x44], 0x8a
mov word [rsp + 0x46], 0x85
mov word [rsp + 0x48], 0x8a
mov word [rsp + 0x4a], 0x82
mov word [rsp + 0x4c], 0x41
cmp byte [0x1405940c0], 0
jne 0x140003fee
mov byte [rsi + 0xe], 1
mov eax, 0
movzx edx, word [rsp + rax*2 + 0x40]
mov word [rsi + rax*2], dx
add rax, 1
cmp rax, 7
jne 0x140003fc8
mov byte [0x1405940c0], 1
lea rcx, [0x140003929]
call fcn.1400014f0
cmp byte [rsi + 0xe], 0
je 0x14000401a
lea rdx, [0x1405940d0]
lea rcx, [rdx + 0xe]
movzx eax, word [rdx]
add ax, 0x31bf
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rdx, rcx
jne 0x140003fff
mov byte [rsi + 0xe], 0
mov r8d, 6
mov rdx, rsi
mov rcx, r12
call sub.msvcrt.dll__wcsnicmp
test eax, eax
je 0x140004114
cmp byte [0x1405940a8], 0
jne 0x14000406a
mov byte [rdi + 8], 1
mov word [rdi], 0x24
mov word [rdi + 2], 0x30
mov word [rdi + 4], 0x27
mov word [rdi + 6], 0xe3
mov byte [0x1405940a8], 1
lea rcx, [0x14000392a]
call fcn.1400014f0
cmp byte [rdi + 8], 0
je 0x140004096
lea rdx, [0x1405940b0]
lea rcx, [rdx + 8]
movzx eax, word [rdx]
sub ax, 0x5ce3
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rdx, rcx
jne 0x14000407b
mov byte [rdi + 8], 0
mov r8d, 3
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll__wcsnicmp
test eax, eax
je 0x140004114
cmp byte [0x140594090], 0
jne 0x1400040e3
mov byte [rbp + 8], 1
mov word [rbp], 0
mov word [rbp + 2], 0x13
mov word [rbp + 4], 8
mov word [rbp + 6], 0xbf
mov byte [0x140594090], 1
lea rcx, [0x14000392b]
call fcn.1400014f0
cmp byte [rbp + 8], 0
je 0x140003d15
lea rdx, [0x140594098]
lea rcx, [rdx + 8]
movzx eax, word [rdx]
add ax, 0x7d41
and ax, 0xff
mov word [rdx], ax
add rdx, 2
cmp rcx, rdx
jne 0x1400040f8
jmp 0x140003d11
mov rcx, qword [rsp + 0x38]
call fcn.140005b9f
mov rcx, qword [rsp + 0x448]
call fcn.140005b9f
mov eax, 1
jmp 0x140003d03
mov rcx, qword [rsp + 0x448]
call fcn.140005b9f
mov eax, 0
jmp 0x140003d03