Function at 0x14004d0d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r15
sub rsp, 0xc8
mov qword [rax - 0x38], r13
xor r15d, r15d
mov r13, qword [rcx + 0x10]
mov r12, rdx
mov qword [rax - 0x40], r14
mov rdi, rcx
mov eax, dword [rcx + 0x34]
mov r14, r9
mov dword [rsp + 0x34], eax
inc eax
mov dword [rsp + 0x30], r15d
mov dword [rcx + 0x34], eax
mov qword [rsp + 0x58], r13
test r13, r13
jne 0x14004d130
call fcn.140078ba0
mov r13, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xc0], rbx
test r14, r14
je 0x14004d1e4
test dword [r12 + 4], 0x800
je 0x14004d1e4
mov rax, qword [r12 + 0x20]
mov r10d, r15d
mov r9, r15
mov r8, qword [rax]
movsxd rbx, dword [r8]
test ebx, ebx
jle 0x14004d1d5
add r8, 8
nop dword [rax]
mov rcx, qword [r8]
movzx eax, byte [rcx]
add al, 0x65
cmp al, 1
ja 0x14004d182
mov rcx, qword [rcx + 0x10]
jmp 0x14004d173
movzx eax, byte [rcx]
cmp al, 0x9d
jne 0x14004d18d
movzx eax, byte [rcx + 0x36]
cmp al, 0x61
je 0x14004d1c6
cmp al, 0x83
jbe 0x14004d1d5
cmp al, 0x86
jbe 0x14004d1c6
cmp al, 0x98
jne 0x14004d1d5
test dword [rcx + 4], 0x100000
jne 0x14004d1d5
movzx edx, word [rcx + 0x30]
test dx, dx
js 0x14004d1c6
mov rax, qword [rcx + 0x40]
movsx rcx, dx
shl rcx, 5
mov rax, qword [rax + 8]
cmp byte [rax + rcx + 0x18], r15b
je 0x14004d1d5
inc r10d
inc r9
add r8, 0x28
cmp r9, rbx
jl 0x14004d170
cmp r10d, ebx
cmove r14, r15
mov qword [rsp + 0x108], r14
mov ebp, 1
mov qword [rsp + 0xb8], rsi
cmp dword [rdi + 0x30], r15d
jne 0x14004d9a0
mov rcx, r12
call fcn.14004cec0
test rax, rax
je 0x14004d9a0
mov rcx, qword [rax]
mov rax, qword [rax + 0x20]
mov r9, qword [rdi]
mov qword [rsp + 0x50], rcx
movsxd rbx, dword [rcx]
mov ecx, 0xfff0bdc0
mov r14, qword [rax + 0x28]
mov qword [rsp + 0x60], r9
mov dword [rsp + 0x38], ebx
mov r8, qword [r14 + 0x70]
test r8, r8
je 0x14004d264
mov edx, dword [r9 + 0x28]
mov ecx, r15d
test edx, edx
jle 0x14004d264
mov r9, qword [r9 + 0x20]
nop dword [rax + rax]
movsxd rax, ecx
shl rax, 5
cmp qword [rax + r9 + 0x18], r8
je 0x14004d264
inc ecx
cmp ecx, edx
jl 0x14004d250
mov rax, qword [rdi + 0xa0]
movsx esi, cx
test rax, rax
mov rcx, rdi
mov dword [rsp + 0x48], esi
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, esi
jb 0x14004d293
bts eax, esi
mov dword [rcx + 0x7c], eax
cmp esi, ebp
jne 0x14004d293
call fcn.14005f4d0
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x38]
mov edx, esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140057790
mov r9, qword [rsp + 0x50]
cmp ebx, ebp
jne 0x14004d33a
mov rax, qword [r9 + 8]
cmp word [rax + 0x30], r15w
jge 0x14004d33a
mov edx, socket
mov rcx, r13
call fcn.140033a10
mov r8d, esi
mov dword [rsp + 0x20], WSAGetLastError
mov esi, dword [rsp + 0x34]
mov r9, r14
mov edx, esi
mov rcx, rdi
mov ebx, eax
call fcn.140069570
mov edx, dword [r13 + 0xb8]
mov edi, ebp
test ebx, ebx
jns 0x14004d2ff
lea ebx, [rdx - 1]
mov rax, qword [r13]
cmp byte [rax + 0x55], r15b
je 0x14004d31d
lea rax, [0x1401763d0]
mov dword [rax + 8], edx
mov dword [r12 + 0x2c], esi
jmp 0x14004da29
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov dword [r12 + 0x2c], esi
lea rax, [rax + rcx*8]
jmp 0x14004da29
mov qword [rsp + 0x40], rbx
mov esi, ebp
mov rbp, r15
mov rdx, rbx
test ebx, ebx
jle 0x14004d437
mov rdi, r15
test esi, esi
je 0x14004d993
mov rdx, qword [r12 + 0x10]
movzx r8d, byte [rdx]
movzx eax, r8b
cmp r8b, 0x9d
jne 0x14004d371
movzx eax, byte [rdx + 0x36]
cmp al, 0x9e
jne 0x14004d37d
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx]
jmp 0x14004d38a
cmp al, 0x77
jne 0x14004d3aa
mov rcx, qword [rdx + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 1
jle 0x14004d3aa
cmp r8b, 0x77
je 0x14004d3a2
cmp byte [rdx + 0x36], 0x77
je 0x14004d3a2
mov rdx, qword [rcx + rdi + 8]
jmp 0x14004d3aa
mov rax, qword [rcx]
mov rdx, qword [rax + rdi + 8]
mov rax, qword [r9 + rdi + 8]
movsx rcx, word [rax + 0x30]
test ecx, ecx
js 0x14004d3c7
mov rax, qword [r14 + 8]
shl rcx, 5
movzx ebx, byte [rcx + rax + 0x19]
jmp 0x14004d3c9
mov bl, 0x44
mov rcx, rdx
call fcn.140049d60
test al, al
je 0x14004d3ea
test bl, bl
je 0x14004d3f2
cmp al, 0x43
jge 0x14004d3e6
cmp bl, 0x43
jge 0x14004d3e6
mov al, 0x41
jmp 0x14004d3f4
mov al, 0x43
jmp 0x14004d3f4
test bl, bl
jne 0x14004d3f2
mov al, 0x41
jmp 0x14004d3f4
add al, bl
movsx ecx, al
sub ecx, 0x41
je 0x14004d40b
cmp ecx, 1
je 0x14004d40b
cmp bl, 0x43
mov esi, r15d
setge sil
mov rdx, qword [rsp + 0x40]
inc rbp
mov r9, qword [rsp + 0x50]
add rdi, 0x28
cmp rbp, rdx
jl 0x14004d352
test esi, esi
je 0x14004d993
mov rdi, qword [rsp + 0xf0]
mov ebx, edx
mov r12, qword [r14 + 0x10]
test r12, r12
je 0x14004d986
lea r14, [0x1401763d0]
jmp 0x14004d458
mov rdi, qword [rsp + 0xf0]
cmp dword [rsp + 0x30], 0
jne 0x14004d9ad
movzx ecx, word [r12 + 0x60]
cmp ecx, ebx
jl 0x14004d89f
cmp ecx, 0x3f
jae 0x14004d89f
test byte [rsp + 0x100], 4
je 0x14004d4a2
movzx eax, word [r12 + 0x5e]
cmp eax, ebx
jg 0x14004d89f
cmp ecx, ebx
jle 0x14004d4a2
cmp byte [r12 + 0x62], 0
je 0x14004d89f
mov r13, r15
mov rbp, r15
test rdx, rdx
jle 0x14004d63e
mov r14, r15
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rax + 0x10]
movzx r8d, byte [rdx]
movzx eax, r8b
cmp r8b, 0x9d
jne 0x14004d4de
movzx eax, byte [rdx + 0x36]
cmp al, 0x9e
jne 0x14004d4ea
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx]
jmp 0x14004d4f7
cmp al, 0x77
jne 0x14004d517
mov rcx, qword [rdx + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 1
jle 0x14004d517
cmp r8b, 0x77
je 0x14004d50f
cmp byte [rdx + 0x36], 0x77
je 0x14004d50f
mov rdx, qword [rcx + r14 + 8]
jmp 0x14004d517
mov rax, qword [rcx]
mov rdx, qword [rax + r14 + 8]
test dword [rdx + 4], 0x100
mov rax, qword [rsp + 0x50]
mov rbx, qword [r14 + rax + 8]
jne 0x14004d54b
test rbx, rbx
je 0x14004d538
test dword [rbx + 4], 0x100
jne 0x14004d548
mov rcx, rdi
call fcn.140049ee0
mov rsi, rax
test rax, rax
jne 0x14004d556
mov rdx, rbx
mov rcx, rdi
call fcn.140049ee0
mov rsi, rax
movzx ebx, word [rbx + 0x30]
mov edi, r15d
mov r11, qword [r12 + 8]
mov r10, r15
mov rax, qword [rsp + 0x40]
lea r15, [0x1400c9580]
cmp word [r11], bx
jne 0x14004d5df
test rsi, rsi
je 0x14004d5ed
mov rax, qword [r12 + 0x40]
mov r8, qword [rsi]
mov r9, qword [rax + r10*8]
movzx eax, byte [r8]
movzx ecx, byte [r9]
movzx edx, byte [rcx + r15]
movzx ecx, byte [rax + r15]
sub ecx, edx
jne 0x14004d5da
sub r9, r8
test al, al
je 0x14004d5d6
movzx ecx, byte [r9 + r8 + 1]
inc r8
movzx edx, byte [rcx + r15]
lea rcx, [0x1400c9580]
movzx eax, byte [r8]
lea r15, [0x1400c9580]
movzx ecx, byte [rax + rcx]
sub ecx, edx
je 0x14004d5a1
lea r15, [0x1400c9580]
jmp 0x14004d5da
test ecx, ecx
je 0x14004d5ed
mov rax, qword [rsp + 0x40]
inc edi
inc r10
add r11, 2
cmp r10, rax
jl 0x14004d571
mov ebx, dword [rsp + 0x38]
mov r15d, 0
cmp edi, ebx
je 0x14004d637
mov ecx, edi
mov eax, 1
shl rax, cl
test r13, rax
jne 0x14004d637
or r13, rax
mov rax, qword [rsp + 0x110]
test rax, rax
je 0x14004d61d
mov dword [rax + rbp*4], edi
mov rdi, qword [rsp + 0xf0]
inc rbp
add r14, 0x28
cmp rbp, qword [rsp + 0x40]
jl 0x14004d4c0
lea r14, [0x1401763d0]
mov ecx, ebx
mov eax, 1
shl rax, cl
dec rax
cmp r13, rax
jne 0x14004d89f
mov r13, qword [rsp + 0x58]
mov rax, qword [r13 + 0x18]
movsxd rbx, dword [r13 + 0xb8]
cmp dword [rax + 0x3c], ebx
jg 0x14004d684
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x14]
call fcn.140033940
mov ebx, eax
jmp 0x14004d6ac
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r13 + 0xb8], eax
mov rax, qword [r13 + 0x68]
mov qword [rax + rcx*8], socket
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov r8, qword [r12]
lea rdx, str.USING_INDEX__s_FOR_IN_OPERATOR
mov rcx, qword [rsp + 0x60]
call fcn.140014570
movsxd rdx, dword [r13 + 0xb8]
mov rdi, rax
mov rax, qword [r13 + 0x18]
cmp dword [rax + 0x3c], edx
jg 0x14004d6f0
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0xa5
mov rcx, r13
call fcn.140033940
mov edx, eax
jmp 0x14004d718
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r13 + 0xb8], eax
mov rax, qword [r13 + 0x68]
mov qword [rax + rcx*8], 0xa5
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r13]
cmp byte [rcx + 0x55], 0
je 0x14004d72f
mov r8, rdi
or edx, 0xffffffff
call fcn.1400347a0
jmp 0x14004d770
test edx, edx
jns 0x14004d73c
mov edx, dword [r13 + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14004d763
or r9d, 0xffffffff
mov r8, rdi
mov rcx, r13
call fcn.1400349e0
jmp 0x14004d770
test rdi, rdi
je 0x14004d770
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xff
mov rax, qword [r13 + 0x18]
movsxd rcx, dword [r13 + 0xb8]
mov edx, dword [r12 + 0x58]
mov ebp, dword [rsp + 0x34]
cmp dword [rax + 0x3c], ecx
jg 0x14004d7a6
mov eax, dword [rsp + 0x48]
mov r9d, edx
mov edx, 0x6a
mov dword [rsp + 0x20], eax
mov r8d, ebp
mov rcx, r13
call fcn.140033940
jmp 0x14004d7d4
lea eax, [rcx + 1]
mov dword [r13 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0x48]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], WSAGetLastError
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 0x10], r15
mov rsi, qword [rsp + 0xf0]
mov rdx, r12
mov rcx, rsi
mov rdi, qword [rsi + 0x10]
call fcn.14005fe50
mov rdx, rax
test rax, rax
je 0x14004d827
mov rcx, qword [rdi]
cmp byte [rcx + 0x55], 0
je 0x14004d80b
mov r8, rax
mov edx, 0xfffffffb
call fcn.1400347a0
jmp 0x14004d827
mov eax, dword [rdi + 0xb8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 + 1], 0xfb
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [r12 + 0x38]
mov rcx, qword [rsp + 0x108]
movzx edi, byte [rax]
add edi, 3
mov dword [rsp + 0x30], edi
test rcx, rcx
je 0x14004d862
mov r8d, dword [rsi + 0x38]
inc r8d
cmp dword [rsp + 0x38], 1
mov dword [rsi + 0x38], r8d
mov dword [rcx], r8d
jne 0x14004d862
mov edx, ebp
mov rcx, r13
call fcn.14004cf40
mov edx, dword [r13 + 0xb8]
test ebx, ebx
jns 0x14004d870
lea ebx, [rdx - 1]
mov rax, qword [r13]
cmp byte [rax + 0x55], 0
je 0x14004d886
mov ebx, dword [rsp + 0x38]
mov rax, r14
mov dword [rax + 8], edx
jmp 0x14004d8ab
movsxd rax, ebx
mov ebx, dword [rsp + 0x38]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14004d8ab
mov rsi, qword [rsp + 0xf0]
mov edi, dword [rsp + 0x30]
mov r12, qword [r12 + 0x28]
mov rdx, qword [rsp + 0x40]
test r12, r12
jne 0x14004d450
test edi, edi
jne 0x14004d9b1
mov r12, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x108]
mov ebp, 1
mov r13d, dword [rsp + 0x100]
test r13b, 1
je 0x14004d9c9
test dword [r12 + 4], 0x800
jne 0x14004d9c9
mov rbx, qword [r12 + 0x10]
lea rcx, [rsp + 0x68]
xor eax, eax
mov qword [r12 + 0x10], r15
mov qword [rsp + 0x88], rax
mov rdx, r12
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x80], rax
lea rax, [fcn.14004c9b0]
mov qword [rsp + 0x70], rax
lea rax, [0x14004cae0]
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x8c], 1
mov dword [rsp + 0x90], r15d
call fcn.140047390
cmp byte [rsp + 0x8c], 0
mov qword [r12 + 0x10], rbx
je 0x14004d973
mov rax, qword [r12 + 0x20]
cmp dword [rax], 2
jg 0x14004d9c9
mov esi, dword [rsp + 0x34]
mov edi, 5
mov dword [r12 + 0x2c], esi
jmp 0x14004da29
mov rsi, qword [rsp + 0xf0]
jmp 0x14004d8c6
mov rsi, qword [rsp + 0xf0]
jmp 0x14004d8ce
mov rsi, qword [rsp + 0xf0]
jmp 0x14004d8db
mov edi, dword [rsp + 0x30]
mov r12, qword [rsp + 0xf8]
mov ebp, 1
mov esi, dword [rsp + 0x34]
mov dword [r12 + 0x2c], esi
jmp 0x14004da29
mov ebx, dword [rsi + 0xb4]
mov r8d, r15d
mov edi, 2
test r13b, 4
je 0x14004d9ff
mov dword [rsi + 0xb4], r15d
mov rax, qword [r12 + 0x10]
cmp word [rax + 0x30], 0
jge 0x14004da0e
test dword [r12 + 4], 0x800
jne 0x14004da0e
mov edi, ebp
jmp 0x14004da0e
test r14, r14
je 0x14004da0e
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
mov dword [r14], r8d
cmp edi, 1
mov r9d, r15d
mov rdx, r12
mov rcx, rsi
sete r9b
call fcn.14004dca0
mov dword [rsi + 0xb4], ebx
mov r8, qword [rsp + 0x110]
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
test r8, r8
je 0x14004db10
lea eax, [rdi - 3]
cmp eax, 1
jbe 0x14004db10
mov rcx, qword [r12 + 0x10]
movzx eax, byte [rcx]
cmp al, 0x9d
jne 0x14004da76
movzx eax, byte [rcx + 0x36]
cmp al, 0x9e
jne 0x14004da82
mov rax, qword [rcx + 0x20]
mov ebp, dword [rax]
jmp 0x14004da8f
cmp al, 0x77
jne 0x14004da8f
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax]
mov ebp, dword [rcx]
test ebp, ebp
jle 0x14004daf6
cmp ebp, 8
jb 0x14004daf6
movdqa xmm2, xmmword [0x1400d3b20]
mov eax, ebp
and eax, 0x80000007
jge 0x14004dab0
dec eax
or eax, 0xfffffff8
inc eax
mov edx, ebp
mov rcx, r8
sub edx, eax
nop word [rax + rax]
lea eax, [r15 + 4]
movd xmm0, r15d
movd xmm1, eax
lea rcx, [rcx + 0x20]
pshufd xmm0, xmm0, 0
add r15d, 8
pshufd xmm1, xmm1, 0
paddd xmm0, xmm2
paddd xmm1, xmm2
movdqu xmmword [rcx - 0x20], xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp r15d, edx
jl 0x14004dac0
movsxd rcx, r15d
movsxd rdx, ebp
cmp rcx, rdx
jge 0x14004db10
mov dword [r8 + rcx*4], r15d
inc r15d
inc rcx
cmp rcx, rdx
jl 0x14004db01
mov eax, edi
add rsp, 0xc8
pop r15
pop r12
pop rdi
pop rbp
ret