Function at 0x140049460
Capabilities:
Access peb ldr_data
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x70
mov r8, qword [0x1401f6b20]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
xor r13d, r13d
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
test r8, r8
jne 0x140049630
mov rax, qword gs:[0x60]
mov r11d, r13d
mov r10d, 0xa9f07562
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x14004950d
psrldq xmm0, 8
mov edx, 0x9191d174
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140049504
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400494f0
cmp edx, r11d
jne 0x140049611
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r9
cmp rbx, r9
je 0x140049611
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140049611
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x9191d174
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140049587
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140049570
cmp edx, r10d
je 0x140049593
test r8d, r8d
jne 0x140049550
jmp 0x140049611
mov eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, rbx
jbe 0x140049629
lea rax, [rbx + r15]
cmp r8, rax
jae 0x140049629
movzx eax, byte [r8]
mov r11d, 0x9191d174
mov r10d, r11d
cmp al, 0x2e
je 0x1400495e8
nop word [rax + rax]
movsx eax, al
inc r8
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x1400495d0
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x14004960d
movsx eax, al
lea r8, [r8 + 1]
xor eax, r10d
imul r10d, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x1400495f4
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140049626
cmp qword [rax + 0x30], r13
jne 0x1400494c0
mov r8, r13
mov qword [0x1401f6b20], r8
xor edx, edx
lea rcx, str.Window
call r8
test rax, rax
je 0x140049646
call fcn.140043b60
mov r9, qword [0x1401f6a88]
test r9, r9
jne 0x1400497ee
mov rax, qword gs:[0x60]
mov ebx, r13d
mov r11d, 0xd40b56b7
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400496cc
psrldq xmm0, 8
mov edx, 0xdcb297b3
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400496c4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400496b0
cmp edx, ebx
jne 0x1400497cf
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov edi, ecx
shr r15, 0x20
add rdi, r10
cmp rdi, r10
je 0x1400497cf
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1400497cf
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0xdcb297b3
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140049747
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140049730
cmp edx, r11d
je 0x140049753
test r8d, r8d
jne 0x140049710
jmp 0x1400497cf
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r10
add rcx, r10
movzx eax, word [rax + r8*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x1400497e7
lea rax, [rdi + r15]
cmp r9, rax
jae 0x1400497e7
movzx eax, byte [r9]
mov ebx, 0xdcb297b3
mov r11d, ebx
cmp al, 0x2e
je 0x1400497a6
nop dword [rax]
movsx eax, al
inc r9
xor eax, ebx
imul ebx, eax, 0x1000193
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x140049790
movzx eax, byte [r9 + 1]
inc r9
test al, al
je 0x1400497cb
movsx eax, al
lea r9, [r9 + 1]
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r9]
test al, al
jne 0x1400497b2
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400497e4
cmp qword [rax + 0x30], r13
jne 0x140049680
mov r9, r13
mov qword [0x1401f6a88], r9
mov byte [rbp - 0x50], 0x60
movabs rbx, 0x972a3e994f278d34
mov byte [rbp - 0x4f], 0x64
mov r11, rbx
mov byte [rbp - 0x4e], reloc.WS2_32.dll_WSACleanup
mov r10, r13
mov byte [rbp - 0x4d], 0x7c
mov edi, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x4c], 0x7a
mov byte [rbp - 0x4b], 0x63
mov byte [rbp - 0x4a], 0x65
mov byte [rbp - 0x49], reloc.WS2_32.dll_WSAStartup
mov byte [rbp - 0x48], 0x35
movzx eax, byte [rbp - 0x50]
lea rax, [rbp - 0x50]
sub r11, rax
nop dword [rax]
nop word [rax + rax]
mov rcx, r10
lea r8, [rbp - 0x50]
add r8, r10
and ecx, edi
cmp rcx, rdi
mov rdx, rbx
cmovae rcx, rdi
shl cl, 2
lea eax, [r11 + r8]
shr rdx, cl
and dl, dil
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r10 - 0x50], dl
inc r10
cmp r10, 9
jb 0x140049840
xor edx, edx
lea rcx, [rbp - 0x50]
call r9
test rax, rax
je 0x14004988c
call fcn.140043b60
mov r9, qword [0x1401f6b00]
test r9, r9
jne 0x140049a33
mov rax, qword gs:[0x60]
mov ebx, r13d
mov r11d, 0xb60f8df1
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14004990c
psrldq xmm0, 8
mov edx, 0x2ab13789
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140049904
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400498f0
cmp edx, ebx
jne 0x140049a0f
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov edi, ecx
shr r15, 0x20
add rdi, r10
cmp rdi, r10
je 0x140049a0f
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140049a0f
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x2ab13789
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140049987
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140049970
cmp edx, r11d
je 0x140049993
test r8d, r8d
jne 0x140049950
jmp 0x140049a0f
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r10
add rcx, r10
movzx eax, word [rax + r8*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x140049a27
lea rax, [r15 + rdi]
cmp r9, rax
jae 0x140049a27
movzx eax, byte [r9]
mov ebx, 0x2ab13789
mov r11d, ebx
cmp al, 0x2e
je 0x1400499e6
nop dword [rax]
movsx eax, al
inc r9
xor eax, ebx
imul ebx, eax, 0x1000193
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x1400499d0
movzx eax, byte [r9 + 1]
inc r9
test al, al
je 0x140049a0b
movsx eax, al
lea r9, [r9 + 1]
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r9]
test al, al
jne 0x1400499f2
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140049a24
cmp qword [rax + 0x30], r13
jne 0x1400498c0
mov r9, r13
mov qword [0x1401f6b00], r9
mov edi, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0x54
movabs rbx, 0x50f129d2a239823c
mov byte [rbp - 0x4f], 0x5c
mov r11, rbx
mov byte [rbp - 0x4e], 0x5b
mov r10, r13
mov byte [rbp - 0x4d], 0x41
mov byte [rbp - 0x4c], reloc.WLDAP32.dll_Ordinal_32
mov byte [rbp - 0x4b], Ordinal_41
mov byte [rbp - 0x4a], gethostname
mov byte [rbp - 0x49], 0xa
mov byte [rbp - 0x48], Ordinal_45
mov byte [rbp - 0x47], reloc.WLDAP32.dll_Ordinal_41
mov byte [rbp - 0x46], reloc.WLDAP32.dll_Ordinal_60
mov byte [rbp - 0x45], gethostname
mov byte [rbp - 0x44], 0x49
movzx eax, byte [rbp - 0x50]
lea rax, [rbp - 0x50]
sub r11, rax
mov rcx, r10
lea r8, [rbp - 0x50]
add r8, r10
and ecx, 0xf
cmp rcx, 0xf
mov rdx, rbx
cmovae rcx, rdi
shl cl, 2
lea eax, [r11 + r8]
shr rdx, cl
and dl, 0xf
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r10 - 0x50], dl
inc r10
cmp r10, 0xd
jb 0x140049a82
xor edx, edx
lea rcx, [rbp - 0x50]
call r9
test rax, rax
je 0x140049ad0
call fcn.140043b60
mov r9, qword [0x1401f6a08]
test r9, r9
jne 0x140049c7d
mov rax, qword gs:[0x60]
mov ebx, r13d
mov r11d, 0x3b0bf43a
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x140049b4c
psrldq xmm0, 8
mov edx, 0xd14826c
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140049b44
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140049b30
cmp edx, ebx
jne 0x140049c4f
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov edi, ecx
shr r15, 0x20
add rdi, r10
cmp rdi, r10
je 0x140049c4f
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140049c4f
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0xd14826c
lea rax, [r10 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140049bc7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140049bb0
cmp edx, r11d
je 0x140049bd3
test r8d, r8d
jne 0x140049b90
jmp 0x140049c4f
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r10
add rcx, r10
movzx eax, word [rax + r8*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x140049c67
lea rax, [rdi + r15]
cmp r9, rax
jae 0x140049c67
movzx eax, byte [r9]
mov ebx, 0xd14826c
mov r11d, ebx
cmp al, 0x2e
je 0x140049c26
nop dword [rax]
movsx eax, al
inc r9
xor eax, ebx
imul ebx, eax, 0x1000193
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x140049c10
movzx eax, byte [r9 + 1]
inc r9
test al, al
je 0x140049c4b
movsx eax, al
lea r9, [r9 + 1]
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r9]
test al, al
jne 0x140049c32
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140049c64
cmp qword [rax + 0x30], r13
jne 0x140049b00
mov r9, r13
mov qword [0x1401f6a08], r9
movabs rbx, 0x50f129d2a239823c
mov edi, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0x68
mov r11, rbx
mov byte [rbp - 0x4f], 0x6a
mov r10, r13
mov byte [rbp - 0x4e], WSAGetLastError
mov byte [rbp - 0x4d], 0x7a
mov byte [rbp - 0x4c], Ordinal_41
mov byte [rbp - 0x4b], Ordinal_45
mov byte [rbp - 0x4a], reloc.WLDAP32.dll_Ordinal_46
mov byte [rbp - 0x49], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0x34
mov byte [rbp - 0x47], reloc.WLDAP32.dll_Ordinal_41
mov byte [rbp - 0x46], Ordinal_35
mov byte [rbp - 0x45], reloc.WLDAP32.dll_Ordinal_32
mov byte [rbp - 0x44], 0x49
movzx eax, byte [rbp - 0x50]
lea rax, [rbp - 0x50]
sub r11, rax
mov rcx, r10
lea r8, [rbp - 0x50]
add r8, r10
and ecx, 0xf
cmp rcx, 0xf
mov rdx, rbx
cmovae rcx, rdi
shl cl, 2
lea eax, [r11 + r8]
shr rdx, cl
and dl, 0xf
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r10 - 0x50], dl
inc r10
cmp r10, 0xd
jb 0x140049cc2
xor edx, edx
lea rcx, [rbp - 0x50]
call r9
test rax, rax
je 0x140049d10
call fcn.140043b60
mov r9, qword [0x1401f6cb0]
test r9, r9
jne 0x140049eb3
mov rax, qword gs:[0x60]
mov ebx, r13d
mov r11d, 0x4c804118
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x140049d8c
psrldq xmm0, 8
mov edx, 0xd8533cde
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140049d84
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140049d70
cmp edx, ebx
jne 0x140049e8f
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov edi, ecx
shr r15, 0x20
add rdi, r10
cmp rdi, r10
je 0x140049e8f
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140049e8f
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0xd8533cde
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140049e07
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140049df0
cmp edx, r11d
je 0x140049e13
test r8d, r8d
jne 0x140049dd0
jmp 0x140049e8f
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r10
add rcx, r10
movzx eax, word [rax + r8*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x140049ea7
lea rax, [rdi + r15]
cmp r9, rax
jae 0x140049ea7
movzx eax, byte [r9]
mov ebx, 0xd8533cde
mov r11d, ebx
cmp al, 0x2e
je 0x140049e66
nop dword [rax]
movsx eax, al
inc r9
xor eax, ebx
imul ebx, eax, 0x1000193
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x140049e50
movzx eax, byte [r9 + 1]
inc r9
test al, al
je 0x140049e8b
movsx eax, al
lea r9, [r9 + 1]
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r9]
test al, al
jne 0x140049e72
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140049ea4
cmp qword [rax + 0x30], r13
jne 0x140049d40
mov r9, r13
mov qword [0x1401f6cb0], r9
mov edi, reloc.WS2_32.dll_ntohs
mov r15, qword [rsp + 0x50]
movabs rbx, 0x18099b678ecf0fc4
mov r14, qword [rsp + 0x58]
mov r11, rbx
mov r12, qword [rsp + 0x68]
mov r10, r13
mov rsi, qword [rsp + 0x90]
mov byte [rbp - 0x40], 0x92
mov byte [rbp - 0x3f], 0xac
mov byte [rbp - 0x3e], 0xba
mov byte [rbp - 0x3d], 0xa8
mov byte [rbp - 0x3c], 0xb2
mov byte [rbp - 0x3b], 0xb7
mov byte [rbp - 0x3a], 0xa7
mov byte [rbp - 0x39], 0xa6
mov byte [rbp - 0x38], 0xeb
mov byte [rbp - 0x37], 0x86
mov byte [rbp - 0x36], 0xaa
mov byte [rbp - 0x35], 0xa8
mov byte [rbp - 0x34], 0xb0
mov byte [rbp - 0x33], 0xa5
mov byte [rbp - 0x32], 0xb5
mov byte [rbp - 0x31], 0xa0
mov byte [rbp - 0x30], Ordinal_211
movzx eax, byte [rbp - 0x40]
lea rax, [rbp - 0x40]
sub r11, rax
nop dword [rax]
mov rcx, r10
lea r8, [rbp - 0x40]
add r8, r10
and ecx, 0xf
cmp rcx, 0xf
mov rdx, rbx
cmovae rcx, rdi
shl cl, 2
lea eax, [r11 + r8]
shr rdx, cl
and dl, 0xf
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r10 - 0x40], dl
inc r10
cmp r10, 0x11
jb 0x140049f30
mov rbx, qword [rsp + 0x88]
movabs r8, 0xc63b111d4f97b9ae
mov byte [rbp - 0x50], 0xf7
mov byte [rbp - 0x4f], 0xc1
mov byte [rbp - 0x4e], 0xda
mov byte [rbp - 0x4d], 0xed
mov byte [rbp - 0x4c], 0xdc
mov byte [rbp - 0x4b], 0xd4
mov byte [rbp - 0x4a], 0xdf
mov byte [rbp - 0x49], 0xde
mov byte [rbp - 0x48], 0xcc
mov byte [rbp - 0x47], 0xb6
movzx eax, byte [rbp - 0x50]
nop dword [rax]
movzx eax, byte [rbp + r13 - 0x50]
mov rcx, r13
and ecx, 0xf
mov rdx, r8
cmp rcx, 0xf
cmovae rcx, rdi
shl cl, 2
shr rdx, cl
and dl, 0xf
xor dl, al
lea eax, [r13 - 0x52]
xor dl, al
mov byte [rbp + r13 - 0x50], dl
inc r13
cmp r13, 0xa
jb 0x140049fb0
mov r13, qword [rsp + 0x60]
lea rdx, [rbp - 0x40]
mov rdi, qword [rsp + 0x98]
lea rcx, [rbp - 0x50]
call r9
test rax, rax
je 0x14004a00d
add rsp, 0x70
pop rbp
jmp fcn.140043b60
add rsp, 0x70
pop rbp
ret