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

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, qword [rcx + 0x18]
xor r13d, r13d
xor r15d, r15d
mov qword [rsp + 0x88], r12
mov ebp, r8d
mov rdi, rdx
mov r14, rcx
cmp r8d, 2
jae 0x140023652
lea rax, [0x14010eb54]
mov ebx, reloc.WS2_32.dll_inet_addr
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0xfd29
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009250
jmp 0x140023ab4
test rdx, rdx
je 0x140023668
mov rax, qword [rdx + 0x70]
inc word [rax + 0x2e]
mov rax, qword [rax + 0x30]
inc dword [rax + 0x18]
jmp 0x140023672
mov edx, ebp
call fcn.14001e1c0
mov rdi, rax
mov rcx, qword [r12 + 0x70]
mov qword [rsp + 0x78], rsi
mov rdx, qword [rcx + 0x20]
mov ebx, dword [rdx + 0x30]
test ebx, ebx
jne 0x140023a90
test byte [rcx + 0x2c], 4
je 0x1400236b3
mov eax, dword [rcx + 0x28]
cmp dword [rdx + 0x20], eax
jb 0x1400236b3
cmp dword [rdx + 0x80], r13d
je 0x1400236a9
call fcn.1400167c0
jmp 0x1400236cd
mov dword [rsp + 0x80], r13d
jmp 0x1400236de
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x1400236c8
call fcn.140018890
jmp 0x1400236cd
call fcn.140018790
mov dword [rsp + 0x80], eax
mov ebx, eax
test eax, eax
jne 0x140023a90
mov rcx, qword [r12 + 0x50]
mov esi, dword [rcx + 0x24]
bswap esi
lea eax, [rsi + 1]
bswap eax
mov dword [rcx + 0x24], eax
test byte [r14 + 0x26], 4
je 0x1400237c0
test rdi, rdi
jne 0x140023747
mov rcx, qword [r14]
lea r8, [rsp + 0x70]
xor r9d, r9d
mov edx, ebp
call fcn.140017b40
mov ebx, eax
test eax, eax
jne 0x140023aaf
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rcx + 0x10]
cmp ebp, dword [rdi + 0x88]
je 0x140023747
mov rax, qword [rcx + 8]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x70], rcx
mov qword [rdi + 0x48], r14
mov dword [rdi + 0x88], ebp
mov byte [rdi + 5], r13b
mov rcx, qword [rdi + 0x70]
mov rdx, qword [rcx + 0x20]
mov ebx, dword [rdx + 0x30]
test ebx, ebx
jne 0x140023a90
test byte [rcx + 0x2c], 4
je 0x140023782
mov eax, dword [rcx + 0x28]
cmp dword [rdx + 0x20], eax
jb 0x140023782
cmp dword [rdx + 0x80], r13d
je 0x140023778
call fcn.1400167c0
jmp 0x14002379c
mov dword [rsp + 0x80], r13d
jmp 0x1400237ad
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x140023797
call fcn.140018890
jmp 0x14002379c
call fcn.140018790
mov dword [rsp + 0x80], eax
mov ebx, eax
test eax, eax
jne 0x140023a90
mov rax, qword [rdi + 0x48]
xor edx, edx
mov rcx, qword [rdi + 0x50]
mov r8d, dword [rax + 0x30]
call fcn.1400d8b40
cmp byte [r14 + 0x21], r13b
je 0x1400237f2
lea rax, [rsp + 0x80]
xor r9d, r9d
mov r8b, 2
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, r14
call fcn.14001d1f0
mov ebx, dword [rsp + 0x80]
test ebx, ebx
jne 0x140023a90
test esi, esi
je 0x1400239d6
mov rax, qword [r12 + 0x50]
lea r8, [rsp + 0x70]
mov rcx, qword [r14]
xor r9d, r9d
mov r15d, dword [rax + 0x20]
bswap r15d
mov edx, r15d
call fcn.140017b40
mov ebx, eax
test eax, eax
jne 0x140023a90
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rcx + 0x10]
cmp r15d, dword [rsi + 0x88]
je 0x14002385d
mov rax, qword [rcx + 8]
mov qword [rsi + 0x50], rax
xor eax, eax
cmp r15d, 1
mov qword [rsi + 0x70], rcx
mov ecx, 0x64
mov qword [rsi + 0x48], r14
cmove eax, ecx
mov dword [rsi + 0x88], r15d
mov byte [rsi + 5], al
mov rax, qword [rsi + 0x50]
mov ecx, dword [r14 + 0x34]
shr ecx, 2
mov r12d, dword [rax + 4]
bswap r12d
lea eax, [rcx - 2]
cmp r12d, eax
jbe 0x1400238ab
lea rax, [0x14010eb54]
mov ebx, reloc.WS2_32.dll_inet_addr
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0xfd5f
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009250
mov r13, rsi
jmp 0x140023a90
lea eax, [rcx - 8]
mov r13, rsi
cmp r12d, eax
jae 0x1400239ce
mov rcx, qword [rsi + 0x70]
mov rdx, qword [rcx + 0x20]
mov ebx, dword [rdx + 0x30]
test ebx, ebx
jne 0x140023a90
test byte [rcx + 0x2c], 4
je 0x1400238ea
mov eax, dword [rcx + 0x28]
cmp dword [rdx + 0x20], eax
jb 0x1400238ea
cmp dword [rdx + 0x80], ebx
je 0x14002390e
call fcn.1400167c0
jmp 0x140023904
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x1400238ff
call fcn.140018890
jmp 0x140023904
call fcn.140018790
mov ebx, eax
test eax, eax
jne 0x140023a90
mov rax, qword [rsi + 0x50]
lea ecx, [r12 + 1]
mov edx, ebp
bswap ecx
bswap edx
mov dword [rax + 4], ecx
lea ecx, [r12*4 + 8]
mov rax, qword [rsi + 0x50]
mov dword [rcx + rax], edx
test rdi, rdi
je 0x14002396a
test byte [r14 + 0x26], 4
jne 0x14002396a
mov rcx, qword [rdi + 0x70]
mov rdx, qword [rcx + 0x20]
cmp byte [rdx + 0x11], 0
jne 0x14002396a
movzx eax, word [rcx + 0x2c]
test al, 2
je 0x14002396a
cmp dword [rdx + 0x80], 0
jne 0x14002396a
mov edx, 0xfffb
and ax, dx
or ax, 0x10
mov word [rcx + 0x2c], ax
mov r15, qword [r14 + 0x58]
xor ebx, ebx
mov r13, rsi
test r15, r15
jne 0x1400239a6
mov r12d, dword [r14 + 0x3c]
mov ecx, 0x200
call fcn.140006750
mov r15, rax
test rax, rax
je 0x1400239c0
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0x1fc
call fcn.1400d8b40
mov dword [r15], r12d
mov qword [r14 + 0x58], r15
cmp ebp, dword [r15]
ja 0x140023a90
mov edx, ebp
mov rcx, r15
call fcn.140011340
mov ebx, eax
jmp 0x140023a90
mov qword [r14 + 0x58], r15
mov ebx, 7
jmp 0x140023a90
mov r12, qword [rsp + 0x88]
test rdi, rdi
jne 0x140023a21
mov rcx, qword [r14]
lea r8, [rsp + 0x70]
xor r9d, r9d
mov edx, ebp
call fcn.140017b40
mov ebx, eax
test eax, eax
jne 0x140023aa1
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rcx + 0x10]
cmp ebp, dword [rdi + 0x88]
je 0x140023a21
mov rax, qword [rcx + 8]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x70], rcx
mov qword [rdi + 0x48], r14
mov dword [rdi + 0x88], ebp
mov byte [rdi + 5], bl
mov rcx, qword [rdi + 0x70]
mov rdx, qword [rcx + 0x20]
mov ebx, dword [rdx + 0x30]
test ebx, ebx
jne 0x140023a90
test byte [rcx + 0x2c], 4
je 0x140023a51
mov eax, dword [rcx + 0x28]
cmp dword [rdx + 0x20], eax
jb 0x140023a51
cmp dword [rdx + 0x80], ebx
je 0x140023a4d
call fcn.1400167c0
jmp 0x140023a6b
xor ebx, ebx
jmp 0x140023a71
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x140023a66
call fcn.140018890
jmp 0x140023a6b
call fcn.140018790
mov ebx, eax
test eax, eax
jne 0x140023a90
mov rax, qword [rdi + 0x50]
bswap r15d
bswap ebp
mov dword [rax], r15d
mov rax, qword [rdi + 0x50]
mov dword [rax + 4], 0
mov rax, qword [r12 + 0x50]
mov dword [rax + 0x20], ebp
test rdi, rdi
je 0x140023aa1
mov rcx, qword [rdi + 0x70]
mov byte [rdi], 0
call fcn.1400181b0
test r13, r13
je 0x140023aaf
mov rcx, qword [r13 + 0x70]
call fcn.1400181b0
mov rsi, qword [rsp + 0x78]
mov eax, ebx
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret