Function at 0x140004940
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r14
push rbp
lea rbp, [rax - 0x138]
sub rsp, 0x230
mov rax, qword [0x1401990d8]
xor rax, rsp
mov qword [rbp + 0x120], rax
xor r14d, r14d
test cl, cl
je 0x140004b33
call fcn.140023a0c
mov rcx, rax
test rax, rax
je 0x140004fb3
mov rax, qword [rax]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x30], 1
mov edi, 0x104
mov dword [rsp + 0x48], edi
mov dword [rbp - 0x6e], 0x6e616d6d
mov word [rbp - 0x77], 0x5c6c
mov dword [rbp - 0x74], 0x5c6e6570
mov word [rbp - 0x6a], SHCoCreateInstance
mov dword [rbp - 0x80], 0x70747468
mov dword [rbp - 0x7b], 0x6c656873
mov word [rbp - 0x70], 0x6f63
mov byte [rbp - 0x75], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x7c], 0x5c
lea ecx, [r14 + 1]
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140004a02
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140024110
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x30]
lea r8, [0x140156609]
lea rdx, [rbp - 0x80]
mov rcx, 0xffffffff80000000
call fcn.14000514c
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.14007ca08
test eax, eax
js 0x140004fbe
cmp eax, dword [rbx - 0xc]
jg 0x140004fbe
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], r14b
lea rcx, [rsp + 0x40]
call fcn.140023f20
mov word [rsp + 0x5b], 0x45
mov word [rsp + 0x58], 0x4946
mov byte [rsp + 0x5a], 0x52
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 0x10], r14d
jl 0x140004a9d
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004a9d
cmp eax, ebx
js 0x140004a9d
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
jmp 0x140004d72
mov dword [rsp + 0x53], 0x454d4f
mov word [rsp + 0x50], 0x4843
mov byte [rsp + 0x52], 0x52
cmp dword [rbx - 0x10], r14d
jl 0x140004af3
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004af3
cmp eax, ebx
js 0x140004af3
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004e23
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140004e23
mov word [rsp + 0x34], 0x4549
mov byte [rsp + 0x36], r14b
cmp dword [rbx - 0x10], r14d
jl 0x140004b27
lea rdx, [rsp + 0x34]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004b27
cmp eax, ebx
js 0x140004b27
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
jmp 0x140004e7c
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
jmp 0x140004f80
call fcn.140023a0c
mov rcx, rax
test rax, rax
je 0x140004fc9
mov rax, qword [rax]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x3c], 1
mov edi, 0x104
mov dword [rsp + 0x4c], edi
mov dword [rbp + 6], 0x6f684372
mov dword [rbp - 0x2e], 0x6e69575c
mov word [rbp - 0x33], 0x736f
mov word [rbp - 0x11], 0x6c72
mov word [rbp - 0x22], 0x6c6c
mov word [rbp - 0x40], 0x6f53
mov word [rbp - 0x36], 0x6369
mov dword [rbp - 0x2a], 0x73776f64
mov dword [rbp - 0x3d], 0x72617774
mov dword [rbp - 0x16], 0x5c736e6f
mov word [rbp - 0x1e], 0x7373
mov word [rbp - 0x25], 0x6853
mov dword [rbp + 0xa], 0x656369
mov dword [rbp - 0xf], 0x6f737341
mov dword [rbp - 2], 0x70747468
mov dword [rbp - 0xb], 0x74616963
mov dword [rbp - 7], 0x736e6f69
mov word [rbp - 0x1b], 0x6963
mov byte [rbp - 0x34], WSACleanup
mov word [rbp - 0x31], 0x666f
mov word [rbp - 0x18], 0x6974
mov word [rbp - 0x20], 0x415c
mov word [rbp - 0x39], 0x5c65
mov dword [rbp + 2], 0x6573555c
mov byte [rbp - 0x2f], reloc.WS2_32.dll_WSACleanup
mov byte [rbp - 0x1c], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x26], 0x5c
mov byte [rbp - 0x12], 0x55
mov byte [rbp - 0x23], SHCoCreateInstance
mov byte [rbp - 0x3e], reloc.SHELL32.dll_SHCoCreateInstance
mov byte [rbp - 3], 0x5c
mov byte [rbp - 0x19], 0x61
mov byte [rbp - 0x37], Ordinal_79
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x10]
call fcn.140054ae0
mov edx, edi
lea rcx, [rbp + 0x10]
call fcn.14001379c
call fcn.140023a0c
mov rcx, rax
test rax, rax
je 0x140004f9d
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x68], 0x255c7325
mov word [rsp + 0x6c], reloc.WS2_32.dll_WSAStartup
lea r9, [rbp - 0x40]
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x40]
call fcn.1400236ac
mov dword [rsp + 0x71], 0x69676f72
mov word [rsp + 0x75], SHCoCreateInstance
mov byte [rsp + 0x70], 0x50
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140004cb6
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.140024110
mov rbx, qword [rsp + 0x50]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
mov rdx, rdi
mov rcx, 0xffffffff80000003
call fcn.14000514c
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.14007ca08
test eax, eax
js 0x140004fa8
cmp eax, dword [rbx - 0xc]
jg 0x140004fa8
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], r14b
lea rcx, [rsp + 0x50]
call fcn.140023f20
mov word [rsp + 0x63], 0x45
mov word [rsp + 0x60], 0x4946
mov byte [rsp + 0x62], 0x52
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], r14d
jl 0x140004db5
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004db5
cmp eax, ebx
js 0x140004db5
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004d69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004d88
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, 2
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140051d60
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov r14, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
mov dword [rsp + 0x78], 0x4f524843
mov word [rsp + 0x7c], 0x454d
mov byte [rsp + 0x7e], r14b
cmp dword [rbx - 0x10], r14d
jl 0x140004e2d
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004e2d
cmp eax, ebx
js 0x140004e2d
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004e03
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
test ecx, ecx
jg 0x140004e23
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov eax, 1
jmp 0x140004d8d
mov word [rsp + 0x38], 0x4549
mov byte [rsp + 0x3a], r14b
cmp dword [rbx - 0x10], r14d
jl 0x140004e9c
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004e9c
cmp eax, ebx
js 0x140004e9c
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004e73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004e92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, 3
jmp 0x140004d8d
mov dword [rbp - 0x67], 0x51585050
mov dword [rbp - 0x49], 0x38524b59
mov dword [rbp - 0x4f], 0x45503741
mov word [rbp - 0x58], 0x3236
mov dword [rbp - 0x53], 0x51424630
mov word [rbp - 0x5b], 0x5950
mov dword [rbp - 0x63], 0x56454630
mov word [rbp - 0x5e], 0x454d
mov word [rbp - 0x55], 0x4533
mov word [rbp - 0x4b], 0x5041
mov word [rbp - 0x45], 0x56
mov byte [rbp - 0x68], 0x41
mov byte [rbp - 0x5c], reloc.WLDAP32.dll_Ordinal_50
mov byte [rbp - 0x5f], 0x5a
mov byte [rbp - 0x59], 0x53
mov byte [rbp - 0x56], Ordinal_79
cmp dword [rbx - 0x10], r14d
jl 0x140004f59
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.14007d26c
test rax, rax
je 0x140004f59
cmp eax, ebx
js 0x140004f59
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004f30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004f4f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, 4
jmp 0x140004d8d
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004f77
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140004f96
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor eax, eax
jmp 0x140004d8d
mov ecx, 0x80004005
call fcn.1400232a8
nop
mov ecx, 0x80070057
call fcn.1400232a8
nop
mov ecx, 0x80004005
call fcn.1400232a8
nop
mov ecx, 0x80070057
call fcn.1400232a8
nop
mov ecx, 0x80004005
call fcn.1400232a8
int3