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

Disassembly:
mov byte [rsp + 0x20], r9b
mov dword [rsp + 0x18], r8d
push rbx
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x98
mov rax, qword [rdx + 0x18]
mov rbp, rcx
mov r13, qword [rdx + 0x10]
mov r15, qword [rcx + 0x10]
mov qword [rsp + 0x70], rax
movzx eax, byte [r13]
cmp al, 0x9d
jne 0x14004a46b
movzx eax, byte [r13 + 0x36]
mov edi, 1
cmp al, 0x9e
jne 0x14004a47c
mov rax, qword [r13 + 0x20]
mov esi, dword [rax]
jmp 0x14004a48d
cmp al, 0x77
jne 0x14004a48b
mov rax, qword [r13 + 0x20]
mov rcx, qword [rax]
mov esi, dword [rcx]
jmp 0x14004a48d
mov esi, edi
mov rbx, qword [r15 + 0x18]
mov dword [rsp + 0x44], esi
mov edx, dword [rbx + 0x54]
mov dword [rsp + 0xd0], edx
lea eax, [rdx + 1]
mov dword [rbx + 0x54], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x14004a4da
mov rcx, qword [rbx]
lea eax, [rdx*2 + 1]
mov rdx, qword [rbx + 0x58]
movsxd r8, eax
shl r8, 2
call fcn.140012890
mov edx, dword [rsp + 0xd0]
movzx r9d, byte [rsp + 0xe8]
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x14004a4ed
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov rbx, qword [rsp + 0x70]
not edx
mov dword [rsp + 0xd0], edx
movzx eax, byte [rbx]
cmp al, 0x9d
jne 0x14004a506
movzx eax, byte [rbx + 0x36]
cmp al, 0x9e
jne 0x14004a512
mov rax, qword [rbx + 0x20]
mov edi, dword [rax]
jmp 0x14004a51f
cmp al, 0x77
jne 0x14004a51f
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax]
mov edi, dword [rcx]
cmp esi, edi
je 0x14004a541
lea rdx, str.row_value_misused
mov rcx, rbp
add rsp, 0x98
pop r15
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.140015580
or byte [rsp + 0xf0], 0x20
mov ecx, 0x51
cmp r9b, 0x50
movzx eax, r9b
mov qword [rsp + 0x90], r12
cmovne ecx, eax
mov qword [rsp + 0x88], r14
cmp cl, 0x52
movzx edi, cl
mov eax, 0x4f
cmove edi, eax
xor r14d, r14d
cmp byte [r13], 0x77
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r14d
jne 0x14004a59f
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rbp
call fcn.14004dca0
mov dword [rsp + 0x40], eax
cmp byte [rbx], 0x77
mov r11d, r14d
mov dword [rsp + 0x4c], r14d
jne 0x14004a5c4
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call fcn.14004dca0
mov r11d, eax
mov dword [rsp + 0x4c], eax
lea eax, [rsi - 1]
mov dword [rsp + 0xd8], r14d
mov esi, dword [rsp + 0x40]
mov r9d, r14d
sub esi, r11d
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x40], esi
mov r10, r14
mov dword [rsp + 0x60], eax
mov r8, r14
xor r12d, r12d
mov qword [rsp + 0x68], r8
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x54], r12d
test r10, r10
jle 0x14004a606
inc dword [rbp + 0x4c]
movzx edx, byte [r13]
cmp dl, 0x9d
jne 0x14004a66d
movzx eax, dl
movzx eax, byte [r13 + 0x36]
cmp al, 0x9e
jne 0x14004a624
mov rcx, qword [r13 + 0x20]
mov eax, dword [rcx]
jmp 0x14004a631
cmp al, 0x77
jne 0x14004a661
mov rcx, qword [r13 + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 1
jle 0x14004a661
cmp dl, 0x77
je 0x14004a650
cmp byte [r13 + 0x36], 0x77
je 0x14004a650
mov esi, dword [r13 + 0x2c]
mov rdi, qword [rcx + r8 + 8]
add esi, r9d
jmp 0x14004a6b4
mov rax, qword [rcx]
mov esi, dword [r13 + 0x2c]
add esi, r9d
mov rdi, qword [rax + r8 + 8]
jmp 0x14004a6b4
mov esi, dword [r13 + 0x2c]
mov rdi, r13
add esi, r9d
jmp 0x14004a6b4
mov rax, qword [r13 + 0x20]
cmp dl, 0x77
jne 0x14004a686
mov rcx, qword [rax]
add esi, r11d
add esi, r9d
mov rdi, qword [rcx + r8 + 8]
jmp 0x14004a6b4
mov rdi, qword [rax + r8 + 8]
mov rcx, rbp
mov rdx, rdi
lea r8, [rsp + 0x50]
call fcn.1400515b0
mov r8, qword [rsp + 0x68]
mov esi, eax
mov r9d, dword [rsp + 0xd8]
mov r11d, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x50]
movzx edx, byte [rbx]
cmp dl, 0x9d
jne 0x14004a715
movzx ecx, dl
movzx ecx, byte [rbx + 0x36]
cmp cl, 0x9e
jne 0x14004a6d0
mov rcx, qword [rbx + 0x20]
mov eax, dword [rcx]
jmp 0x14004a6de
cmp cl, 0x77
jne 0x14004a708
mov rcx, qword [rbx + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 1
jle 0x14004a708
cmp dl, 0x77
je 0x14004a700
cmp byte [rbx + 0x36], 0x77
je 0x14004a700
mov rax, qword [rsp + 0x70]
mov rbx, qword [rcx + r8 + 8]
mov eax, dword [rax + 0x2c]
add eax, r9d
jmp 0x14004a746
mov rax, qword [rcx]
mov rbx, qword [rax + r8 + 8]
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x2c]
add eax, r9d
jmp 0x14004a746
mov rax, qword [rbx + 0x20]
cmp dl, 0x77
jne 0x14004a72c
mov rcx, qword [rax]
lea eax, [r11 + r9]
mov rbx, qword [rcx + r8 + 8]
jmp 0x14004a746
mov rbx, qword [rax + r8 + 8]
mov rcx, rbp
mov rdx, rbx
lea r8, [rsp + 0x54]
call fcn.1400515b0
mov r12d, dword [rsp + 0x54]
movzx ecx, byte [rsp + 0xf0]
mov r8, rbx
movzx r9d, byte [rsp + 0x48]
mov rdx, rdi
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + 0x30], ecx
mov rcx, rbp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.14004a220
test r14d, r14d
je 0x14004a7c3
movzx r8d, byte [rbp + 0x1f]
cmp r8b, 8
jae 0x14004a7c3
movzx edx, byte [rbp + 0x25]
lea rax, [rbp + 0xc4]
xor ecx, ecx
test edx, edx
je 0x14004a7b4
nop word [rax + rax]
cmp dword [rax + 0xc], r14d
je 0x14004a84d
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14004a7a0
movzx eax, r8b
mov dword [rbp + rax*4 + 0x18c], r14d
inc byte [rbp + 0x1f]
xor r14d, r14d
test r12d, r12d
je 0x14004a807
movzx r8d, byte [rbp + 0x1f]
cmp r8b, 8
jae 0x14004a807
movzx edx, byte [rbp + 0x25]
lea rax, [rbp + 0xc4]
mov ecx, r14d
test edx, edx
je 0x14004a7f8
cmp dword [rax + 0xc], r12d
je 0x14004a856
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14004a7e8
movzx eax, r8b
mov dword [rbp + rax*4 + 0x18c], r12d
inc byte [rbp + 0x1f]
mov r10, qword [rsp + 0x58]
test r10, r10
jle 0x14004a819
mov rcx, rbp
call fcn.14004fcc0
mov r9d, dword [rsp + 0xd8]
mov rax, qword [r15 + 0x18]
cmp r9d, dword [rsp + 0x60]
je 0x14004a9b0
mov edi, dword [rsp + 0x48]
movsxd rcx, dword [r15 + 0xb8]
cmp dil, 0x4e
jne 0x14004a877
cmp dword [rax + 0x3c], ecx
jg 0x14004a85c
mov edx, socket
jmp 0x14004a88b
mov byte [rax + 6], 1
jmp 0x14004a7c3
mov byte [rax + 6], 1
jmp 0x14004a807
lea eax, [rcx + 1]
mov dword [r15 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x68]
mov dword [rax + rcx*8], socket
jmp 0x14004a8db
cmp dil, 0x4d
jne 0x14004a905
cmp dword [rax + 0x3c], ecx
jg 0x14004a8c2
mov edx, socket
mov r8d, dword [rsp + 0xe0]
mov rcx, r15
mov r9d, dword [rsp + 0xd0]
mov dword [rsp + 0x20], r14d
call fcn.140033940
mov r9d, dword [rsp + 0xd8]
mov r10, qword [rsp + 0x58]
or byte [rsp + 0xf0], 8
jmp 0x14004a981
lea eax, [rcx + 1]
mov dword [r15 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x68]
mov dword [rax + rcx*8], socket
mov edx, dword [rsp + 0xe0]
or byte [rsp + 0xf0], 8
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0xd0]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x14004a981
cmp dword [rax + 0x3c], ecx
jg 0x14004a935
mov r9d, dword [rsp + 0xd0]
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0x20], r14d
lea edx, [r8 + 0x53]
call fcn.140033940
mov r9d, dword [rsp + 0xd8]
mov r10, qword [rsp + 0x58]
jmp 0x14004a964
mov edx, dword [rsp + 0xd0]
lea eax, [rcx + 1]
mov dword [r15 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x68]
mov qword [rax + rcx*8], 0x53
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov ecx, dword [rsp + 0x44]
movzx eax, byte [rsp + 0xe8]
add ecx, 0xfffffffe
cmp r9d, ecx
movzx edx, dil
cmove edx, eax
mov byte [rsp + 0x48], dl
mov r8, qword [rsp + 0x68]
inc r9d
mov rbx, qword [rsp + 0x70]
inc r10
mov r11d, dword [rsp + 0x4c]
add r8, 0x28
mov esi, dword [rsp + 0x40]
mov dword [rsp + 0xd8], r9d
mov qword [rsp + 0x58], r10
jmp 0x14004a5ec
mov rdx, qword [rax + 0x58]
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
test rdx, rdx
je 0x14004a9df
mov eax, dword [rsp + 0xd0]
not eax
movsxd rcx, eax
mov eax, dword [r15 + 0xb8]
mov dword [rdx + rcx*4], eax
add rsp, 0x98
pop r15
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret