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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x1a8
xor r9d, r9d
test r8, r8
mov qword [rax - 8], rbx
mov qword [rax - 0x18], rsi
mov qword [rax - 0x38], r14
mov r14, qword [rcx + 0x48]
mov rsi, rcx
mov dword [rsp + 0x4c], r9d
mov ebx, r9d
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x44], r9d
mov dword [rsp + 0x54], r9d
mov dword [rsp + 0x70], r9d
mov dword [rsp + 0xd8], r9d
jne 0x4aaa71
lea eax, [r9 + 7]
jmp 0x4ac78e
movzx r8d, word [rcx + 0x12]
movzx ecx, byte [rcx + 1]
mov qword [rsp + 0x178], r13
lea r13d, [rcx + r8]
cmp r13d, 2
jge 0x4aaa96
mov r10d, r9d
mov dword [rsp + 0x58], r9d
jmp 0x4aaadc
test edx, edx
jne 0x4aaaab
mov eax, dword [rsp + 0x1d0]
mov r10d, r9d
mov dword [rsp + 0x58], r9d
jmp 0x4aaad3
cmp edx, r13d
jne 0x4aaac3
mov eax, dword [rsp + 0x1d0]
lea r10d, [r13 + rax - 2]
mov dword [rsp + 0x58], r10d
jmp 0x4aaad3
mov eax, dword [rsp + 0x1d0]
lea r10d, [rdx - 1]
mov dword [rsp + 0x58], r10d
mov r13d, 2
sub r13d, eax
mov eax, r10d
lea r9d, [r13 + 1]
sub eax, ecx
mov dword [rsp + 0x88], r9d
add eax, r13d
cmp eax, r8d
jne 0x4aab0d
movzx eax, byte [rsi + 6]
add eax, 8
movsxd r8, eax
add r8, qword [rsi + 0x50]
mov qword [rsp + 0xb8], r8
jmp 0x4aab42
movsxd rax, r13d
movsxd rdx, r10d
sub rdx, rcx
mov rcx, qword [rsi + 0x60]
add rdx, rax
movzx eax, byte [rcx + rdx*2]
shl eax, 8
movsxd r8, eax
movzx eax, byte [rcx + rdx*2 + 1]
or r8, rax
movzx eax, word [rsi + 0x14]
and r8, rax
add r8, qword [rsi + 0x50]
mov qword [rsp + 0xb8], r8
movzx eax, byte [r8 + 2]
mov qword [rsp + 0x198], rbp
movzx ebp, byte [r8 + 1]
shl ebp, 8
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x180], r12
or ebp, eax
movzx eax, byte [r8]
movsxd rdi, r10d
shl eax, 0x18
shl ebp, 8
mov qword [rsp + 0x168], r15
or ebp, eax
movzx eax, byte [r8 + 3]
movsxd r12, r13d
or ebp, eax
movsxd rax, r9d
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x50], ebp
lea r15d, [r10 + r13]
jmp 0x4aabb5
mov rdi, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
cmp ebp, dword [r14 + 0x3c]
jbe 0x4aabe7
lea r9, [0x006a0b6c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0xd280
mov ecx, reloc.WS2_32.dll_inet_addr
call fcn.00461f70
mov esi, reloc.WS2_32.dll_inet_addr
mov dword [rsp + 0x40], esi
jmp 0x4aac6b
mov rcx, qword [r14]
lea r8, [rsp + 0x78]
xor r9d, r9d
mov edx, ebp
call fcn.0048ca10
test eax, eax
mov esi, eax
mov dword [rsp + 0x40], eax
jne 0x4aac6b
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x40], esi
mov rbx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov qword [rbx + 0x50], rax
xor eax, eax
mov qword [rbx + 0x68], rcx
cmp ebp, 1
mov ecx, 0x64
mov qword [rbx + 0x48], r14
cmove eax, ecx
mov dword [rbx + 0x70], ebp
mov qword [rsp + r12*8 + 0xe0], rbx
mov byte [rbx + 6], al
cmp byte [rbx], sil
jne 0x4aac61
mov rcx, rbx
call fcn.0047a470
test eax, eax
mov esi, eax
mov dword [rsp + 0x40], eax
je 0x4aac67
mov rcx, qword [rbx + 0x68]
call fcn.004a1e30
mov ebx, dword [rsp + 0x44]
jmp 0x4aac6b
mov ebx, dword [rsp + 0x44]
jmp 0x4aac6b
mov ebx, dword [rsp + 0x44]
test esi, esi
mov dword [rsp + 0x48], esi
jne 0x4aaf90
mov rax, qword [rsp + r12*8 + 0xe0]
dec r15d
dec r12
movzx ecx, byte [rax + 1]
movzx edx, word [rax + 0x12]
mov eax, r13d
add ecx, ebx
dec r13d
test eax, eax
lea ebx, [rcx + rdx + 1]
mov dword [rsp + 0x44], ebx
je 0x4aafaf
mov rsi, qword [rsp + 0x1b0]
movzx eax, word [rsi + 0x16]
cmp r15d, eax
jne 0x4aad07
cmp byte [rsi + 1], 0
je 0x4aad07
mov rdx, qword [rsi + 0x20]
mov rcx, rsi
movzx eax, byte [rdx + 2]
movzx ebp, byte [rdx + 1]
mov qword [rsp + r12*8 + 0xc0], rdx
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx]
shl eax, 0x18
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx + 3]
or ebp, eax
mov dword [rsp + 0x50], ebp
call fcn.0042d940
mov byte [rsi + 1], 0
movzx r11d, ax
mov dword [rsp + r12*4 + 0xf8], r11d
jmp 0x4aabb5
movzx eax, byte [rsi + 1]
mov rcx, qword [rsi + 0x60]
mov r14, qword [rsi + 0x50]
movzx r9d, byte [rsi + 7]
mov r8, r12
sub r8, rax
add r8, rdi
movzx eax, byte [rcx + r8*2]
shl eax, 8
movsxd rdi, eax
movzx eax, byte [rcx + r8*2 + 1]
or rdi, rax
movzx eax, word [rsi + 0x14]
and rdi, rax
add rdi, r14
add r9, rdi
mov qword [rsp + r12*8 + 0xc0], rdi
movzx eax, byte [rdi + 2]
movzx ecx, byte [rdi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi]
shl eax, 0x18
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 3]
or ecx, eax
cmp byte [rsi + 4], 0
mov dword [rsp + 0x50], ecx
je 0x4aad99
lea rcx, [r9 + 9]
nop
nop
nop
movzx eax, byte [r9]
inc r9
and al, 0x80
je 0x4aad90
cmp r9, rcx
jb 0x4aad80
sub r9w, di
jmp 0x4aae42
movzx r10d, byte [r9]
cmp r10d, 0x80
jb 0x4aadd3
lea r8, [r9 + 9]
and r10d, 0x7f
nop
movzx edx, byte [r9 + 1]
mov eax, r10d
inc r9
shl eax, 7
mov cl, dl
and ecx, 0x7f
mov r10d, ecx
or r10d, eax
cmp dl, 0x80
jb 0x4aadd3
cmp r9, r8
jb 0x4aadb0
inc r9
cmp byte [rsi + 2], 0
je 0x4aadf0
lea rcx, [r9 + 9]
movzx eax, byte [r9]
inc r9
and al, 0x80
je 0x4aadf0
cmp r9, rcx
jb 0x4aade0
movzx r11d, word [rsi + 0xa]
cmp r10d, r11d
ja 0x4aae0e
sub r9d, edi
add r10d, r9d
cmp r10d, 4
jae 0x4aae3e
mov r10d, 4
jmp 0x4aae3e
movzx r8d, word [rsi + 0xc]
mov rax, qword [rsi + 0x48]
xor edx, edx
mov ecx, dword [rax + 0x34]
sub r10d, r8d
sub ecx, 4
mov eax, r10d
div ecx
add edx, r8d
cmp edx, r11d
cmova edx, r8d
sub r9w, di
movzx eax, r9w
lea r10d, [rdx + rax + 4]
mov r9w, r10w
mov rdx, qword [rsp + 0x68]
movzx ebx, r9w
test byte [rdx + 0x26], 4
mov dword [rsp + r12*4 + 0xf8], ebx
je 0x4aae95
mov ecx, edi
sub ecx, r14d
lea eax, [rbx + rcx]
cmp eax, dword [rdx + 0x34]
jg 0x4ac0ce
mov rbp, qword [rsp + 0x1c0]
movsxd rcx, ecx
mov r8, rbx
add rcx, rbp
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov r14, qword [rsi + 0x50]
mov rax, rbp
sub rax, r14
add qword [rsp + r12*8 + 0xc0], rax
movzx eax, byte [rsi + 1]
mov r9, qword [rsp + 0x1b0]
mov esi, dword [rsp + 0x58]
sub esi, eax
add esi, r13d
lea eax, [rsi + rsi]
movsxd rdi, eax
add rdi, qword [r9 + 0x60]
movzx eax, byte [rdi + 1]
movzx edx, byte [rdi]
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 6]
movzx ecx, byte [r14 + rax + 5]
mov rbp, rax
movzx eax, byte [r14 + rax + 6]
shl ecx, 8
or ecx, eax
cmp edx, ecx
jb 0x4aaf58
mov rax, qword [r9 + 0x48]
lea ecx, [rdx + rbx]
cmp ecx, dword [rax + 0x34]
ja 0x4aaf58
movzx r8d, bx
mov rcx, r9
call fcn.0047a110
mov ebx, dword [rsp + 0x44]
test eax, eax
jne 0x4aaba4
mov rbx, qword [rsp + 0x1b0]
lea rdx, [rdi + 2]
mov rcx, rdi
add word [rbx + 0x12], 0xffff
movzx eax, word [rbx + 0x12]
sub eax, esi
add eax, eax
movsxd r8, eax
call sub.msvcrt.dll_memmove
movzx r11d, byte [rbx + 0x13]
mov rdi, qword [rsp + 0x80]
mov byte [r14 + rbp + 3], r11b
movzx eax, byte [rbx + 0x12]
mov byte [r14 + rbp + 4], al
add word [rbx + 0x10], 2
mov ebx, dword [rsp + 0x44]
mov ebp, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
jmp 0x4aabb5
lea r9, [0x006a0b6c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0xe29f
mov ecx, reloc.WS2_32.dll_inet_addr
call fcn.00461f70
mov ebx, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
jmp 0x4aabb5
lea eax, [r13 + 1]
lea rcx, [rsp + 0xe0]
xor edx, edx
movsxd r8, eax
shl r8, 3
call sub.msvcrt.dll_memset
jmp 0x4ac1c0
mov edx, dword [r14 + 0x30]
mov edi, dword [rsp + 0x88]
add ebx, 3
lea eax, [rdx + 0x78]
and ebx, 0xfffffffc
mov dword [rsp + 0xa0], eax
lea ecx, [rbx + rbx*4]
imul eax, edi
add eax, edx
lea ecx, [rax + rcx*2]
call fcn.0043a980
test rax, rax
mov r8, rax
mov qword [rsp + 0x98], rax
jne 0x4ab084
mov dword [rsp + 0x40], 7
mov rdi, qword [rsp + 0x98]
test rdi, rdi
je 0x4ac1c0
cmp rdi, qword [0x0072d1b0]
jb 0x4ac113
cmp rdi, qword [0x00772ba8]
jae 0x4ac113
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4ab033
call qword [0x0072d0f8]
mov rax, qword [0x00772bb0]
mov ecx, dword [0x0077296c]
mov qword [rdi], rax
mov eax, dword [0x00772994]
inc dword [0x00772bb8]
dec ecx
mov qword [0x00772bb0], rdi
cmp ecx, eax
mov dword [0x0077296c], ecx
cmovg eax, ecx
mov rcx, qword [0x00772b88]
test rcx, rcx
mov dword [0x00772994], eax
je 0x4ac1c0
call qword [0x0072d108]
jmp 0x4ac1c0
mov r13, qword [rsp + 0xe0]
movsxd rax, ebx
xor r15d, r15d
movzx r9d, byte [r13 + 5]
lea rcx, [r8 + rax*8]
xor r14d, r14d
lea rdx, [rcx + rax*2]
movzx eax, byte [r13 + 3]
shl r9w, 2
xor r12d, r12d
test edi, edi
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x88], eax
mov rbx, rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rdx
mov word [rsp + 0x44], r9w
mov dword [rsp + 0xa4], r15d
mov qword [rsp + 0x118], r14
jle 0x4ab39b
lea eax, [rdi - 1]
xor esi, esi
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xb0], esi
nop
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + r14*8 + 0xe0]
mov r8d, 0x78
mov eax, dword [rdi + 0x30]
lea ebp, [rsi + rax]
add rbp, rdx
mov rdx, rbx
mov rcx, rbp
mov qword [rsp + r14*8 + 0x148], rbp
call sub.msvcrt.dll_memcpy
lea rcx, [rbp + 0x78]
mov qword [rbp + 0x50], rcx
mov r8d, dword [rdi + 0x30]
mov rdx, qword [rbx + 0x50]
call sub.msvcrt.dll_memcpy
movzx ecx, byte [rbp + 1]
movzx eax, word [rbp + 0x12]
add eax, ecx
test cl, cl
movsxd r13, eax
je 0x4ab213
xor edi, edi
xor ebx, ebx
test eax, eax
jle 0x4ab28b
add dword [rsp + 0x4c], r13d
mov rsi, qword [rsp + 0x90]
mov r15, qword [rsp + 0x98]
nop
nop
movzx r9d, byte [rbp + 1]
mov eax, edi
mov r10, rbx
dec r9d
movsxd r8, r9d
js 0x4ab1b3
lea rdx, [rbp + r8*2 + 0x16]
movzx ecx, word [rdx]
cmp ecx, eax
jg 0x4ab1a7
cmp ecx, eax
je 0x4ab209
dec eax
dec r10
dec r9d
sub rdx, 2
dec r8
jns 0x4ab197
mov rcx, qword [rbp + 0x60]
movzx eax, byte [rcx + r10*2]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [rcx + r10*2 + 1]
or rdx, rax
movzx eax, word [rbp + 0x14]
and rdx, rax
add rdx, qword [rbp + 0x50]
mov rcx, rbp
mov qword [r15 + r12*8], rdx
call fcn.0042d940
inc rbx
inc r12
mov word [rsi + r12*2 - 2], ax
inc edi
cmp rbx, r13
jl 0x4ab180
mov r15d, dword [rsp + 0xa4]
mov esi, dword [rsp + 0xb0]
jmp 0x4ab28b
movsxd rax, r9d
mov rdx, qword [rbp + rax*8 + 0x20]
jmp 0x4ab1d6
test eax, eax
mov rdi, qword [rbp + 0x50]
jle 0x4ab28b
movzx ebx, word [rbp + 0xe]
movzx esi, word [rbp + 0x14]
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
add rbx, rdi
add dword [rsp + 0x4c], r13d
nop
nop
movzx eax, byte [rbx]
mov rcx, rbp
shl eax, 8
movsxd rdx, eax
movzx eax, byte [rbx + 1]
or rdx, rax
and rdx, rsi
add rdx, rdi
mov qword [r14 + r12*8], rdx
call fcn.0042d940
inc r12
mov word [r15 + r12*2 - 2], ax
add rbx, 2
dec r13
jne 0x4ab240
mov r14, qword [rsp + 0x118]
mov r15d, dword [rsp + 0xa4]
mov esi, dword [rsp + 0xb0]
cmp r15d, dword [rsp + 0xa8]
jge 0x4ab345
mov rbx, qword [rsp + 0x80]
test rbx, rbx
jne 0x4ab355
movsxd rdx, dword [rsp + 0x70]
movzx ecx, word [rsp + r14*4 + 0xf8]
mov rdi, qword [rsp + 0x90]
mov rbx, rdx
add edx, ecx
mov word [rdi + r12*2], cx
add rbx, qword [rsp + 0x78]
mov dword [rsp + 0x70], edx
mov rdx, qword [rsp + r14*8 + 0xc0]
mov r8, rcx
mov rcx, rbx
call sub.msvcrt.dll_memcpy
movzx r9d, word [rsp + 0x44]
mov r8, qword [rsp + 0x98]
lea rax, [rbx + r9]
mov qword [r8 + r12*8], rax
sub word [rdi + r12*2], r9w
cmp byte [rbp + 5], 0
jne 0x4ab325
mov rax, qword [rbp + 0x50]
mov rcx, qword [r8 + r12*8]
inc dword [rsp + 0x4c]
mov eax, dword [rax + 8]
mov rbx, qword [rsp + 0x80]
inc r12
mov dword [rcx], eax
jmp 0x4ab35b
cmp word [rdi + r12*2], 4
jae 0x4ab334
mov word [rdi + r12*2], 4
inc dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x80]
inc r12
jmp 0x4ab35b
mov rbx, qword [rsp + 0x80]
mov r9w, word [rsp + 0x44]
jmp 0x4ab35b
mov r9w, word [rsp + 0x44]
add esi, dword [rsp + 0xa0]
mov rdx, qword [rsp + 0x78]
inc r14
inc r15d
cmp r14, qword [rsp + 0x60]
mov qword [rsp + 0x118], r14
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0xa4], r15d
jl 0x4ab100
mov ebp, dword [rsp + 0x50]
mov r13, qword [rsp + 0xe0]
movsxd r12, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x68]
movzx ecx, r9w
mov eax, dword [rax + 0x34]
xor edx, edx
xor esi, esi
lea r10d, [rax + rcx - 0xc]
xor ecx, ecx
xor eax, eax
test r12d, r12d
mov r11, r12
jle 0x4ab441
mov rdi, qword [rsp + 0x90]
xor r8d, r8d
movzx r9d, word [rdi + rax*2]
lea ecx, [rcx + r9 + 2]
cmp ecx, r10d
jle 0x4ab40a
sub ecx, r9d
test rbx, rbx
mov dword [rsp + r8 + 0xc0], edx
mov dword [rsp + r8 + 0xf8], ecx
je 0x4ab3fc
dec edx
dec rax
add r8, 4
xor ecx, ecx
inc esi
cmp r8, 0x10
jg 0x4ab416
inc rax
inc edx
cmp rax, r12
jl 0x4ab3d0
jmp 0x4ab449
lea r9, [0x006a0b6c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0xe541
mov ecx, reloc.WS2_32.dll_inet_addr
call fcn.00461f70
mov dword [rsp + 0x40], reloc.WS2_32.dll_inet_addr
jmp 0x4aaff6
mov rdi, qword [rsp + 0x90]
movsxd rax, esi
inc esi
lea r14d, [rsi - 1]
mov dword [rsp + rax*4 + 0xf8], ecx
mov dword [rsp + rax*4 + 0xc0], r12d
test r14d, r14d
movsxd r10, r14d
jle 0x4ab525
mov ebp, dword [rsp + 0x1d0]
mov r12d, dword [rsp + 0x88]
nop
mov r11d, dword [rsp + r10*4 + 0xbc]
mov r9d, dword [rsp + r10*4 + 0xf8]
mov ebx, dword [rsp + r10*4 + 0xf4]
dec r11d
mov r8d, r11d
sub r8d, r12d
inc r8d
test r9d, r9d
je 0x4ab4cb
test ebp, ebp
jne 0x4ab505
movsxd rax, r11d
mov edx, ebx
movzx ecx, word [rdi + rax*2]
movsxd rax, r8d
sub edx, ecx
movzx ecx, word [rdi + rax*2]
lea eax, [rcx + r9 + 2]
sub edx, 2
cmp eax, edx
jg 0x4ab505
dec dword [rsp + r10*4 + 0xbc]
movsxd rax, r8d
movzx ecx, word [rdi + rax*2]
movsxd rax, r11d
mov r11d, dword [rsp + r10*4 + 0xbc]
dec r11d
lea r9d, [r9 + rcx + 2]
movzx ecx, word [rdi + rax*2]
mov eax, 0xfffffffe
mov r8d, r11d
sub eax, ecx
sub r8d, r12d
add ebx, eax
inc r8d
jmp 0x4ab4a4
mov dword [rsp + r10*4 + 0xf8], r9d
mov dword [rsp + r10*4 + 0xf4], ebx
dec r10
test r10, r10
jg 0x4ab480
mov ebp, dword [rsp + 0x50]
cmp dword [r13 + 0x70], 1
ja 0x4ab557
lea r9, [0x006a0b6c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0xe57f
mov ecx, reloc.WS2_32.dll_inet_addr
call fcn.00461f70
mov dword [rsp + 0x40], reloc.WS2_32.dll_inet_addr
jmp 0x4aaff6
mov rax, qword [r13 + 0x50]
xor edi, edi
xor ebx, ebx
test esi, esi
movzx r15d, byte [rax]
movsxd r12, esi
mov dword [rsp + 0x70], r15d
lea eax, [rdi + 1]
jle 0x4ab67e
mov r13, qword [rsp + 0x1b0]
nop
cmp rbx, qword [rsp + 0x60]
jge 0x4ab5eb
mov rax, qword [rsp + rbx*8 + 0xe0]
mov qword [rsp + rbx*8 + 0xe0], 0
mov rcx, qword [rax + 0x68]
mov qword [rsp + rbx*8 + 0x120], rax
mov qword [rsp + 0x78], rax
mov rdx, qword [rcx + 0x20]
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x4ab5cb
call fcn.0049c240
mov esi, eax
mov dword [rsp + 0x40], eax
jmp 0x4ab5d6
call fcn.0049c050
mov esi, eax
mov dword [rsp + 0x40], eax
inc dword [rsp + 0x54]
test esi, esi
mov dword [rsp + 0x48], esi
jne 0x4aaff6
jmp 0x4ab66b
cmp dword [rsp + 0x1d0], 0
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
cmovne ebp, eax
mov byte [rsp + 0x20], 0
mov r9d, ebp
mov rbp, qword [rsp + 0x68]
mov rcx, rbp
call fcn.004a4380
test eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x48], eax
jne 0x4aaff6
mov rcx, qword [rsp + 0x78]
inc dword [rsp + 0x54]
cmp byte [rbp + 0x21], al
mov qword [rsp + rbx*8 + 0x120], rcx
je 0x4ab667
mov edx, dword [rcx + 0x70]
mov r9d, dword [r13 + 0x70]
lea rax, [rsp + 0x48]
mov r8b, 5
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.0049d030
mov eax, dword [rsp + 0x48]
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x4aaff6
mov ebp, dword [rsp + 0x50]
inc rbx
inc edi
mov eax, 1
cmp rbx, r12
jl 0x4ab580
movsxd rbp, edi
mov rdi, qword [rsp + 0x60]
mov r13d, 0xffffffff
cmp rbp, rdi
jge 0x4ab878
mov esi, dword [rsp + 0x40]
nop
nop
test esi, esi
mov rbx, qword [rsp + rbp*8 + 0xe0]
jne 0x4aaff6
mov r8d, dword [rbx + 0x70]
mov rcx, qword [rbx + 0x48]
mov rdx, rbx
call fcn.004a5060
test eax, eax
mov esi, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x48], eax
jne 0x4aaff6
test rbx, rbx
je 0x4ab860
mov r8, qword [rbx + 0x68]
test byte [r8 + 0x2c], 0x40
mov rbx, qword [r8 + 0x20]
je 0x4ab727
dec dword [rbx + 0x98]
mov rax, qword [rbx + 0xa8]
mov qword [r8 + 0x18], rax
mov rcx, qword [rbx + 0x48]
movsxd rax, dword [rbx + 0xbc]
mov qword [rbx + 0xa8], r8
mov edx, dword [r8 + 0x28]
mov r9, qword [rcx]
mov r8, qword [r8 + 8]
dec edx
imul rdx, rax
call qword [r9 + DllRegisterServer]
jmp 0x4ab72f
mov rcx, r8
call fcn.00428f80
cmp dword [rbx + 0x98], 0
jne 0x4ab860
mov rax, qword [rbx + 0x110]
cmp dword [rax + 0x18], 0
jne 0x4ab860
movzx eax, byte [rbx + 0x14]
cmp al, 6
je 0x4ab858
test al, al
je 0x4ab858
cmp al, 2
jb 0x4ab83f
mov rax, qword [0x007729b8]
test rax, rax
je 0x4ab777
call rax
movzx ecx, byte [rbx + 0x14]
cmp cl, 6
je 0x4ab82b
cmp cl, 1
jbe 0x4ab82b
cmp qword [rbx + 0x118], 0
je 0x4ab7da
mov r8d, r13d
mov edx, 2
mov rcx, rbx
call fcn.004a1410
movzx edx, byte [rbx + 0x17]
xor r8d, r8d
mov rcx, rbx
mov edi, eax
call fcn.0043e5f0
test edi, edi
jne 0x4ab7be
mov edi, eax
movzx eax, dil
cmp eax, 0xd
je 0x4ab7cc
cmp eax, 0xa
jne 0x4ab826
mov dword [rbx + 0x2c], edi
mov rdi, qword [rsp + 0x60]
mov byte [rbx + 0x14], 6
jmp 0x4ab82b
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x4ab7f7
cmp cl, 2
je 0x4ab7f7
xor edx, edx
mov rcx, rbx
call fcn.0049f250
mov edi, eax
jmp 0x4ab7be
movzx esi, cl
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.0043e5f0
cmp byte [rbx + 0x13], 0
mov edi, eax
jne 0x4ab7be
cmp esi, 2
jle 0x4ab7be
mov rdi, qword [rsp + 0x60]
mov dword [rbx + 0x2c], 4
mov byte [rbx + 0x14], 6
jmp 0x4ab82b
mov rdi, qword [rsp + 0x60]
mov rax, qword [0x007729c0]
test rax, rax
je 0x4ab854
call rax
mov esi, dword [rsp + 0x40]
jmp 0x4ab858
cmp byte [rbx + 8], 0
jne 0x4ab858
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.0043e5f0
jmp 0x4ab858
mov esi, dword [rsp + 0x40]
mov rcx, rbx
call fcn.0044ec20
mov qword [rsp + rbp*8 + 0xe0], 0
inc rbp
cmp rbp, rdi
jl 0x4ab6a0
xor r10d, r10d
test r14d, r14d
jle 0x4ab8f3
mov edi, r14d
nop
nop
nop
nop
mov rbx, qword [rsp + r10*8 + 0x120]
lea r11, [r10 + 1]
mov r9, r10
cmp r11, r12
mov r8d, dword [rbx + 0x70]
mov rcx, r11
jge 0x4ab8eb
nop
nop
mov rax, qword [rsp + rcx*8 + 0x120]
mov edx, dword [rax + 0x70]
cmp edx, r8d
jae 0x4ab8c6
mov r9, rcx
mov r8d, edx
inc rcx
cmp rcx, r12
jl 0x4ab8b0
cmp r9, r10
jle 0x4ab8eb
mov rax, qword [rsp + r9*8 + 0x120]
mov qword [rsp + r10*8 + 0x120], rax
mov qword [rsp + r9*8 + 0x120], rbx
dec rdi
mov r10, r11
jne 0x4ab890
mov r9, qword [rsp + 0xb8]
movsxd r8, dword [rsp + 0x54]
xor ebx, ebx
mov rdx, qword [rsp + r8*8 + 0x118]
xor ebp, ebp
mov qword [rsp + 0xb0], rbx
mov ecx, dword [rdx + 0x70]
mov qword [rsp + 0x78], rdx
mov eax, ecx
mov byte [r9 + 3], cl
shr eax, 0x18
mov byte [r9], al
mov eax, ecx
shr eax, 0x10
mov byte [r9 + 1], al
mov eax, ecx
shr eax, 8
test r8, r8
mov byte [r9 + 2], al
jle 0x4abcc3
nop
nop
nop
nop
mov r12, qword [rsp + rbx*8 + 0x120]
mov edx, r15d
mov rcx, r12
mov qword [rsp + 0xb8], r12
call fcn.0047a710
movzx eax, byte [r12 + 6]
mov r15d, dword [rsp + rbx*4 + 0xc0]
mov r14, qword [r12 + 0x50]
mov dword [rsp + 0xa0], eax
mov rax, qword [r12 + 0x48]
mov ecx, dword [rax + 0x34]
sub r15d, ebp
lea eax, [r15 + r15]
mov dword [rsp + 0xa8], ecx
mov ebx, ecx
movsxd rdi, eax
lea eax, [r15 - 1]
add rdi, qword [r12 + 0x60]
movsxd rsi, eax
movsxd rax, ebp
test rsi, rsi
js 0x4aba0c
mov rcx, qword [rsp + 0x98]
add rax, rsi
lea rbp, [rcx + rax*8]
mov rcx, qword [rsp + 0x90]
lea r12, [rcx + rax*2]
nop
movzx ecx, word [r12]
sub rdi, 2
sub ebx, ecx
mov r8, rcx
mov eax, ebx
mov byte [rdi + 1], bl
movsxd rcx, ebx
sar eax, 8
add rcx, r14
mov byte [rdi], al
mov rdx, qword [rbp]
call sub.msvcrt.dll_memcpy
sub r12, 2
sub rbp, 8
dec rsi
jns 0x4ab9d0
mov r12, qword [rsp + 0xb8]
movsxd rcx, dword [rsp + 0xa0]
mov eax, r15d
sar eax, 8
mov byte [rcx + r14 + 6], bl
mov byte [rcx + r14 + 4], r15b
mov byte [rcx + r14 + 3], al
mov eax, ebx
sar eax, 8
mov byte [rcx + r14 + 5], al
movzx eax, r15w
mov word [r12 + 0x12], r15w
add ax, ax
sub bx, ax
sub bx, word [rsp + 0xa8]
add word [r12 + 0x10], bx
mov rbx, qword [rsp + 0xb0]
movsxd rbp, dword [rsp + rbx*4 + 0xc0]
cmp ebp, dword [rsp + 0x4c]
jge 0x4abca0
mov rcx, qword [rsp + 0x90]
movsxd r14, dword [rsp + 0xd8]
movzx r9d, word [rsp + 0x44]
movzx ecx, word [rcx + rbp*2]
mov r10, qword [rsp + 0x98]
mov rsi, r14
add rsi, qword [rsp + 0x1c0]
mov rdi, qword [r10 + rbp*8]
add r9d, ecx
cmp byte [r12 + 5], 0
jne 0x4abab6
mov rcx, qword [r12 + 0x50]
mov eax, dword [rdi]
mov dword [rcx + 8], eax
jmp 0x4abc4f
cmp qword [rsp + 0x80], 0
je 0x4abb3e
dec ebp
lea r8, [rsp + 0xf8]
mov rcx, r12
movsxd rdx, ebp
mov rdx, qword [r10 + rdx*8]
call fcn.0042d700
mov rdx, qword [rsp + 0xf8]
mov rdi, rsi
cmp rdx, 0x7f
lea rcx, [rsi + 4]
ja 0x4abb04
and dl, 0x7f
mov eax, 1
xor esi, esi
lea r9d, [rax + 4]
mov byte [rcx], dl
jmp 0x4abc4f
cmp rdx, 0x3fff
ja 0x4abb2e
mov rax, rdx
and dl, 0x7f
shr rax, 7
mov byte [rcx + 1], dl
or al, 0x80
xor esi, esi
mov byte [rcx], al
mov eax, 2
lea r9d, [rax + 4]
jmp 0x4abc4f
call fcn.00426c30
xor esi, esi
lea r9d, [rax + 4]
jmp 0x4abc4f
sub rdi, 4
cmp ecx, 4
jne 0x4abc4f
mov rdx, qword [rsp + 0x1b0]
movzx r10d, byte [rdx + 7]
add r10, rdi
cmp byte [rdx + 4], 0
je 0x4abb7e
lea rcx, [r10 + 9]
movzx eax, byte [r10]
inc r10
and al, 0x80
je 0x4abb75
cmp r10, rcx
jb 0x4abb65
sub r10w, di
jmp 0x4abc4b
movzx r11d, byte [r10]
cmp r11d, 0x80
jb 0x4abbcb
lea r8, [r10 + 9]
and r11d, 0x7f
nop
nop
nop
nop
movzx edx, byte [r10 + 1]
mov eax, r11d
inc r10
shl eax, 7
mov cl, dl
and ecx, 0x7f
mov r11d, ecx
or r11d, eax
cmp dl, 0x80
jb 0x4abbc3
cmp r10, r8
jb 0x4abba0
mov rdx, qword [rsp + 0x1b0]
inc r10
cmp byte [rdx + 2], 0
je 0x4abbf0
lea rcx, [r10 + 9]
nop
nop
movzx eax, byte [r10]
inc r10
and al, 0x80
je 0x4abbf0
cmp r10, rcx
jb 0x4abbe0
movzx ebx, word [rdx + 0xa]
cmp r11d, ebx
ja 0x4abc0d
sub r10d, edi
add r11d, r10d
cmp r11d, 4
jae 0x4abc3f
mov r11d, 4
jmp 0x4abc3f
mov rcx, qword [rdx + 0x48]
movzx r9d, word [rdx + 0xc]
xor edx, edx
mov r8d, dword [rcx + 0x34]
sub r11d, r9d
sub r8d, 4
mov eax, r11d
div r8d
add edx, r9d
cmp edx, ebx
cmova edx, r9d
sub r10w, di
movzx eax, r10w
lea r11d, [rdx + rax + 4]
mov rbx, qword [rsp + 0xb0]
mov r10w, r11w
movzx r9d, r10w
mov rcx, qword [rsp + 0x1b0]
lea rax, [rsp + 0x48]
mov r8, rdi
mov edi, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov eax, dword [r12 + 0x70]
add r14d, r9d
mov dword [rsp + 0x28], eax
mov edx, edi
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0xd8], r14d
call fcn.0049d690
mov eax, dword [rsp + 0x48]
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x4aaff6
inc ebp
inc edi
mov dword [rsp + 0x58], edi
movsxd rcx, dword [rsp + 0x54]
mov r15d, dword [rsp + 0x70]
inc rbx
cmp rbx, rcx
mov qword [rsp + 0xb0], rbx
jl 0x4ab950
mov rdx, qword [rsp + 0x78]
test r15b, 8
jne 0x4abce4
mov rax, qword [rsp + 0x60]
mov rdx, qword [rdx + 0x50]
mov rax, qword [rsp + rax*8 + 0x140]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
cmp dword [rsp + 0x1c8], 0
mov r12, qword [rsp + 0x120]
je 0x4abde5
mov r14, qword [rsp + 0x1b0]
cmp word [r14 + 0x12], 0
jne 0x4abde5
movzx eax, byte [r14 + 6]
cmp ax, word [r12 + 0x10]
ja 0x4abde5
cmp dword [rsp + 0x40], 0
jne 0x4aaff6
mov r9, qword [r12 + 0x50]
movzx ebx, byte [r12 + 6]
mov rbp, qword [r12 + 0x48]
mov rsi, qword [r14 + 0x50]
xor edi, edi
cmp dword [r14 + 0x70], 1
mov ecx, 0x64
cmove edi, ecx
add rbx, r9
movzx r8d, byte [rbx + 5]
movzx eax, byte [rbx + 6]
shl r8d, 8
or r8d, eax
mov eax, dword [rbp + 0x34]
movsxd rcx, r8d
sub eax, r8d
lea rdx, [rcx + r9]
mov r8d, eax
add rcx, rsi
call sub.msvcrt.dll_memcpy
movzx r11d, word [r12 + 0x12]
movzx eax, word [r12 + 0xe]
lea ecx, [rax + r11*2]
mov rdx, rbx
movsxd r8, ecx
movsxd rcx, edi
add rcx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, r14
mov byte [r14], 0
call fcn.0047a470
test eax, eax
mov esi, eax
mov dword [rsp + 0x40], eax
jne 0x4abdc2
cmp byte [rbp + 0x21], al
je 0x4abdca
mov rcx, r14
call fcn.0049d430
mov esi, eax
mov dword [rsp + 0x40], eax
test esi, esi
jne 0x4aaff6
mov r8d, dword [r12 + 0x70]
mov rcx, qword [r12 + 0x48]
mov rdx, r12
call fcn.004a5060
mov dword [rsp + 0x40], eax
jmp 0x4aaff6
mov r10, qword [rsp + 0x68]
cmp byte [r10 + 0x21], 0
je 0x4aaff6
mov rdi, qword [rsp + 0x148]
movzx r14d, byte [rdi + 1]
movzx ebx, word [rdi + 0x12]
add ebx, r14d
test r14d, r14d
je 0x4abe13
movzx r13d, word [rdi + 0x16]
mov ecx, dword [rsp + 0x4c]
xor esi, esi
xor ebp, ebp
xor r15d, r15d
test ecx, ecx
jle 0x4ac046
lea rcx, [rsp + 0x120]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1b0], rax
xor edx, edx
cmp esi, ebx
jne 0x4abea1
cmp dword [rsp + 0x88], edx
sete dl
nop
nop
nop
mov rdi, qword [rsp + rbp*8 + 0x150]
inc rbp
movzx ecx, byte [rdi + 1]
movzx ebx, word [rdi + 0x12]
add ebx, edx
add ebx, ecx
add ebx, esi
test cl, cl
je 0x4abe8d
movzx r13d, word [rdi + 0x16]
movzx r14d, byte [rdi + 1]
add r13d, edx
add r13d, esi
cmp esi, ebx
je 0x4abe60
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1c0]
cmp esi, r13d
jne 0x4abeb6
dec r14d
mov edx, 1
test r14d, r14d
jle 0x4abeb6
inc r13d
cmp esi, dword [rax]
jne 0x4abee5
mov r12, qword [rcx + 8]
add rcx, 8
add rax, 4
cmp qword [rsp + 0x80], 0
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1c0], rcx
je 0x4ac026
test edx, edx
jne 0x4abef7
mov eax, dword [r12 + 0x70]
cmp dword [rdi + 0x70], eax
je 0x4ac000
cmp word [rsp + 0x44], 0
jne 0x4abf4d
mov rax, qword [rsp + 0x98]
mov r9d, dword [r12 + 0x70]
mov r8b, 5
mov rcx, qword [rax + r15*8]
movzx eax, byte [rcx + 2]
movzx edx, byte [rcx + 1]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 3]
shl edx, 8
or edx, eax
movzx eax, byte [rcx]
mov rcx, r10
shl eax, 0x18
or edx, eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.0049d030
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x40], ecx
jmp 0x4abf51
mov ecx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
movzx eax, word [r12 + 0xc]
cmp word [rdx + r15*2], ax
jbe 0x4ac00a
test ecx, ecx
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + r15*8]
mov qword [rsp + 0xb8], rax
jne 0x4ac01e
lea r8, [rsp + 0xf8]
mov rdx, rax
mov rcx, r12
call fcn.0042d700
movzx r11d, word [rsp + 0x10e]
test r11w, r11w
je 0x4ac014
mov r9d, dword [r12 + 0x70]
movzx ecx, r11w
mov r8b, 3
add rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + 2]
movzx edx, byte [rcx + 1]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 3]
shl edx, 8
or edx, eax
movzx eax, byte [rcx]
mov rcx, qword [r12 + 0x48]
shl eax, 0x18
or edx, eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.0049d030
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x1b0]
jmp 0x4ac026
mov rax, qword [rsp + 0x1b0]
jmp 0x4ac026
mov rax, qword [rsp + 0x1b0]
jmp 0x4ac026
mov rax, qword [rsp + 0x1b0]
jmp 0x4ac026
mov rax, qword [rsp + 0x1b0]
movsxd rdx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x1c0]
mov r10, qword [rsp + 0x68]
inc r15
inc esi
cmp r15, rdx
jl 0x4abe46
cmp word [rsp + 0x44], 0
jne 0x4aaff6
movsxd rax, dword [rsp + 0x54]
xor ebx, ebx
test eax, eax
mov rdi, rax
jle 0x4aaff6
nop
nop
nop
mov r8, qword [rsp + rbx*8 + 0x120]
mov rcx, qword [r8 + 0x50]
mov r9d, dword [r8 + 0x70]
mov r8b, 5
movzx eax, byte [rcx + 0xa]
movzx edx, byte [rcx + 9]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0xb]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 8]
mov rcx, r10
shl eax, 0x18
or edx, eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.0049d030
mov r10, qword [rsp + 0x68]
inc rbx
cmp rbx, rdi
jl 0x4ac070
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x40], eax
jmp 0x4aaff6
lea r9, [0x006a0b6c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0xe4b6
mov ecx, reloc.WS2_32.dll_inet_addr
call fcn.00461f70
lea eax, [r13 + 1]
lea rcx, [rsp + 0xe0]
movsxd r8, eax
xor edx, edx
mov dword [rsp + 0x40], reloc.WS2_32.dll_inet_addr
shl r8, 3
call sub.msvcrt.dll_memset
jmp 0x4ac1c0
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4ac1b7
mov rcx, rdi
call qword [0x0072d0b0]
mov rcx, qword [0x00772b88]
test rcx, rcx
mov ebx, eax
je 0x4ac13d
call qword [0x0072d0f8]
mov ecx, dword [0x00772998]
mov eax, dword [0x00772988]
mov edx, dword [0x00772970]
sub edx, ebx
cmp edx, ecx
mov dword [0x00772970], edx
cmovg ecx, edx
mov dword [0x00772998], ecx
mov ecx, dword [0x00772960]
sub ecx, ebx
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rdi
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4ac1c0
call qword [0x0072d108]
jmp 0x4ac1c0
mov rcx, rdi
call qword [0x0072d0a0]
mov rbx, qword [rsp + 0x60]
xor r15d, r15d
test rbx, rbx
jle 0x4ac489
mov r8, qword [rsp + r15*8 + 0xe0]
test r8, r8
je 0x4ac47d
mov r8, qword [r8 + 0x68]
test byte [r8 + 0x2c], 0x40
mov rdi, qword [r8 + 0x20]
je 0x4ac22e
dec dword [rdi + 0x98]
mov rax, qword [rdi + 0xa8]
mov qword [r8 + 0x18], rax
mov rcx, qword [rdi + 0x48]
movsxd rax, dword [rdi + 0xbc]
mov qword [rdi + 0xa8], r8
mov edx, dword [r8 + 0x28]
mov r9, qword [rcx]
mov r8, qword [r8 + 8]
dec edx
imul rdx, rax
call qword [r9 + DllRegisterServer]
jmp 0x4ac236
mov rcx, r8
call fcn.00428f80
cmp dword [rdi + 0x98], 0
jne 0x4ac47d
mov rax, qword [rdi + 0x110]
cmp dword [rax + 0x18], 0
jne 0x4ac47d
movzx eax, byte [rdi + 0x14]
cmp al, 6
je 0x4ac475
test al, al
je 0x4ac475
cmp al, 2
jb 0x4ac462
mov rax, qword [0x007729b8]
test rax, rax
je 0x4ac27e
call rax
movzx ecx, byte [rdi + 0x14]
cmp cl, 6
je 0x4ac452
cmp cl, 1
jbe 0x4ac452
cmp qword [rdi + 0x118], 0
je 0x4ac3ff
mov r14d, dword [rdi + 0x2c]
test r14d, r14d
jne 0x4ac3cb
mov eax, dword [rdi + 0x80]
cmp eax, 0xffffffff
jle 0x4ac3cb
xor r13d, r13d
test eax, eax
jle 0x4ac3a0
xor r12d, r12d
nop
mov rax, qword [rdi + 0x78]
mov rbp, qword [rax + r12 + 0x10]
test rbp, rbp
je 0x4ac38c
cmp dword [rbp + 8], 0
je 0x4ac302
lea rbx, [rbp + 0x10]
mov esi, 0x3e
mov rcx, qword [rbx]
call fcn.00428ab0
add rbx, 8
dec rsi
jne 0x4ac2f1
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4ac383
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4ac31d
call qword [0x0072d0f8]
mov rcx, rbp
call qword [0x0072d0b0]
mov edx, dword [0x00772960]
mov rcx, rbp
neg eax
add edx, eax
mov eax, dword [0x00772988]
cmp edx, eax
mov dword [0x00772960], edx
cmovg eax, edx
mov edx, dword [0x00772984]
dec edx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp edx, eax
mov dword [0x00772984], edx
cmovg eax, edx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4ac38c
call qword [0x0072d108]
jmp 0x4ac38c
mov rcx, rbp
call qword [0x0072d0a0]
inc r13d
add r12, 0x30
cmp r13d, dword [rdi + 0x80]
jl 0x4ac2d0
cmp qword [rdi + 0x118], 0
mov dword [rdi + 0x80], 0
jne 0x4ac3be
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x4ac3cb
xor edx, edx
mov rcx, rdi
call fcn.0049fc10
mov r14d, eax
movzx edx, byte [rdi + 0x17]
xor r8d, r8d
mov rcx, rdi
call fcn.0043e5f0
test r14d, r14d
jne 0x4ac3e2
mov r14d, eax
movzx eax, r14b
cmp eax, 0xd
je 0x4ac3f0
cmp eax, 0xa
jne 0x4ac44d
mov rbx, qword [rsp + 0x60]
mov dword [rdi + 0x2c], r14d
mov byte [rdi + 0x14], 6
jmp 0x4ac452
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x4ac41d
cmp cl, 2
je 0x4ac41d
xor edx, edx
mov rcx, rdi
call fcn.0049f250
mov r14d, eax
jmp 0x4ac3e2
movzx ebx, cl
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.0043e5f0
cmp byte [rdi + 0x13], 0
mov r14d, eax
jne 0x4ac3e2
cmp ebx, 2
jle 0x4ac3e2
mov rbx, qword [rsp + 0x60]
mov dword [rdi + 0x2c], 4
mov byte [rdi + 0x14], 6
jmp 0x4ac452
mov rbx, qword [rsp + 0x60]
mov rax, qword [0x007729c0]
test rax, rax
je 0x4ac475
call rax
jmp 0x4ac475
cmp byte [rdi + 8], 0
jne 0x4ac475
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.0043e5f0
mov rcx, rdi
call fcn.0044ec20
inc r15
cmp r15, rbx
jl 0x4ac1d1
movsxd rbx, dword [rsp + 0x54]
xor r15d, r15d
test rbx, rbx
mov qword [rsp + 0x1b0], rbx
jle 0x4ac762
mov r8, qword [rsp + r15*8 + 0x120]
test r8, r8
je 0x4ac756
mov r8, qword [r8 + 0x68]
test byte [r8 + 0x2c], 0x40
mov rdi, qword [r8 + 0x20]
je 0x4ac4ff
dec dword [rdi + 0x98]
mov rax, qword [rdi + 0xa8]
mov qword [r8 + 0x18], rax
mov rcx, qword [rdi + 0x48]
movsxd rax, dword [rdi + 0xbc]
mov qword [rdi + 0xa8], r8
mov edx, dword [r8 + 0x28]
mov r9, qword [rcx]
mov r8, qword [r8 + 8]
dec edx
imul rdx, rax
call qword [r9 + DllRegisterServer]
jmp 0x4ac507
mov rcx, r8
call fcn.00428f80
cmp dword [rdi + 0x98], 0
jne 0x4ac756
mov rax, qword [rdi + 0x110]
cmp dword [rax + 0x18], 0
jne 0x4ac756
movzx eax, byte [rdi + 0x14]
cmp al, 6
je 0x4ac74e
test al, al
je 0x4ac74e
cmp al, 2
jb 0x4ac73b
mov rax, qword [0x007729b8]
test rax, rax
je 0x4ac54f
call rax
movzx ecx, byte [rdi + 0x14]
cmp cl, 6
je 0x4ac72b
cmp cl, 1
jbe 0x4ac72b
cmp qword [rdi + 0x118], 0
je 0x4ac6d2
mov r14d, dword [rdi + 0x2c]
test r14d, r14d
jne 0x4ac69b
mov eax, dword [rdi + 0x80]
cmp eax, 0xffffffff
jle 0x4ac69b
xor r13d, r13d
test eax, eax
jle 0x4ac670
xor r12d, r12d
nop
mov rax, qword [rdi + 0x78]
mov rbp, qword [rax + r12 + 0x10]
test rbp, rbp
je 0x4ac65c
cmp dword [rbp + 8], 0
je 0x4ac5d2
lea rbx, [rbp + 0x10]
mov esi, 0x3e
mov rcx, qword [rbx]
call fcn.00428ab0
add rbx, 8
dec rsi
jne 0x4ac5c1
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4ac653
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4ac5ed
call qword [0x0072d0f8]
mov rcx, rbp
call qword [0x0072d0b0]
mov edx, dword [0x00772960]
mov rcx, rbp
neg eax
add edx, eax
mov eax, dword [0x00772988]
cmp edx, eax
mov dword [0x00772960], edx
cmovg eax, edx
mov edx, dword [0x00772984]
dec edx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp edx, eax
mov dword [0x00772984], edx
cmovg eax, edx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4ac65c
call qword [0x0072d108]
jmp 0x4ac65c
mov rcx, rbp
call qword [0x0072d0a0]
inc r13d
add r12, 0x30
cmp r13d, dword [rdi + 0x80]
jl 0x4ac5a0
cmp qword [rdi + 0x118], 0
mov dword [rdi + 0x80], 0
jne 0x4ac68e
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x4ac69b
xor edx, edx
mov rcx, rdi
call fcn.0049fc10
mov r14d, eax
movzx edx, byte [rdi + 0x17]
xor r8d, r8d
mov rcx, rdi
call fcn.0043e5f0
test r14d, r14d
jne 0x4ac6b2
mov r14d, eax
movzx eax, r14b
cmp eax, 0xd
je 0x4ac6c0
cmp eax, 0xa
jne 0x4ac723
mov rbx, qword [rsp + 0x1b0]
mov dword [rdi + 0x2c], r14d
mov byte [rdi + 0x14], 6
jmp 0x4ac72b
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x4ac6f0
cmp cl, 2
je 0x4ac6f0
xor edx, edx
mov rcx, rdi
call fcn.0049f250
mov r14d, eax
jmp 0x4ac6b2
movzx ebx, cl
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.0043e5f0
cmp byte [rdi + 0x13], 0
mov r14d, eax
jne 0x4ac6b2
cmp ebx, 2
jle 0x4ac6b2
mov rbx, qword [rsp + 0x1b0]
mov dword [rdi + 0x2c], 4
mov byte [rdi + 0x14], 6
jmp 0x4ac72b
mov rbx, qword [rsp + 0x1b0]
mov rax, qword [0x007729c0]
test rax, rax
je 0x4ac74e
call rax
jmp 0x4ac74e
cmp byte [rdi + 8], 0
jne 0x4ac74e
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.0043e5f0
mov rcx, rdi
call fcn.0044ec20
inc r15
cmp r15, rbx
jl 0x4ac4a2
mov eax, dword [rsp + 0x40]
mov r15, qword [rsp + 0x168]
mov r13, qword [rsp + 0x178]
mov r12, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x198]
mov r14, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x1a8
ret