Function at 0x14000d1c0
Capabilities:
Initialize winsock library
Move file

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
mov edi, ecx
push rsi
mov rsi, rdx
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x510
call fcn.140001590
lea rdx, [rsp + 0x378]
mov ecx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [rsp + 0x6c], eax
test eax, eax
je 0x14000d212
mov edx, eax
lea rcx, str.Fatal:_Could_not_initialize_Windows_sockets__Error:__d_._n
call fcn.14000a630
jmp 0x14000dc7c
mov rax, qword [0x140015150]
mov r15b, 1
mov byte [rax], 0
call fcn.14000bd70
mov rdx, rsi
mov ecx, edi
call fcn.14000b520
mov r13, qword [0x140015420]
mov r12d, dword [r13]
cmp r12d, edi
jge 0x14000d24f
movsxd rax, r12d
xor r15d, r15d
mov rax, qword [rsi + rax*8]
mov qword [0x140011cf0], rax
lea r14d, [rdi - 1]
cmp r12d, r14d
jge 0x14000d279
mov ebx, edi
movsxd rax, r12d
sub ebx, r12d
lea rdx, [rsi + rax*8]
mov ecx, ebx
call fcn.14000b520
cmp ebx, dword [r13]
jle 0x14000d279
mov rcx, qword [rsi]
call fcn.140009f30
call fcn.14000af30
mov rbx, qword [0x140015160]
mov rax, qword [rbx]
cmp dword [rax + 0xc], 0
je 0x14000d29a
cmp dword [rax + 0x14], 0
je 0x14000d29a
cmp dword [rax + 0x10], 0
jne 0x14000d2b0
lea rcx, str.Fatal:_Incomplete_KMS_data_file_n
call fcn.14000a630
mov ecx, 0x57
jmp 0x14000d7c2
mov rdx, rsi
mov ecx, edi
call fcn.14000b590
cmp r14d, dword [r13]
jle 0x14000d2d1
movsxd rax, r12d
mov ecx, edi
lea rdx, [rsi + rax*8]
sub ecx, r12d
call fcn.14000b590
mov rcx, qword [rsi]
mov r8, rsi
mov edx, edi
call fcn.14000b700
cmp r14d, dword [r13]
jle 0x14000d2f8
movsxd rax, r12d
sub edi, r12d
mov rcx, qword [rsi]
mov edx, edi
lea r8, [rsi + rax*8]
call fcn.14000b700
test r15b, r15b
je 0x14000d31d
cmp dword [0x14000e0c0], 0x17
lea rax, str.127.0.0.1
lea rdx, [0x14001330b]
cmove rax, rdx
mov qword [0x140011cf0], rax
cmp qword [0x140011f00], 0
je 0x14000db26
mov rax, qword [rbx]
xor esi, esi
mov qword [rsp + 0xa0], 0xffffffffffffffff
movzx ecx, byte [rax + 8]
shl rcx, 3
call fcn.14000d030
mov r12, rax
mov rax, qword [rbx]
movzx ecx, byte [rax + 8]
shl rcx, 4
call fcn.14000d030
mov qword [rsp + 0x88], rax
mov rax, qword [rbx]
mov edi, esi
movzx eax, byte [rax + 8]
cmp eax, esi
jle 0x14000d3c8
mov ecx, 0x100
call fcn.14000d030
mov qword [r12 + rsi*8], rax
mov byte [rax], 0
mov rcx, qword [rbx]
xor eax, eax
mov r8d, dword [rcx + 0x10]
cmp r8d, eax
jle 0x14000d3c3
mov rdx, rax
inc rax
shl rdx, 5
add rdx, qword [rcx + 0x28]
movzx r9d, byte [rdx + 0x1e]
cmp r9d, edi
jne 0x14000d38b
movups xmm0, xmmword [rdx]
mov rdi, qword [rsp + 0x88]
mov rax, rsi
shl rax, 4
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rdi + rax], xmm0
inc rsi
jmp 0x14000d364
xor edi, edi
mov r13d, 6
mov rax, qword [rbx]
movzx edx, byte [rax + 8]
cmp edi, edx
jge 0x14000d6f9
cmp r13w, 3
je 0x14000d6f9
xor r9d, r9d
movsxd r14, edi
mov r8d, dword [rax + 0x10]
mov rdx, qword [rax + 0x28]
mov rcx, r14
mov qword [rsp + 0x20], r9
mov rax, qword [rsp + 0x88]
xor r9d, r9d
shl rcx, 4
add rcx, rax
call fcn.14000ab70
test eax, eax
js 0x14000d464
mov dword [0x14000e0b0], 0xffffffff
mov rcx, qword [rbx]
mov esi, dword [rcx + 0x14]
lea edx, [rsi - 1]
movsxd r8, edx
shl r8, 5
test edx, edx
js 0x14000d458
mov r9, qword [rcx + 0x30]
movzx r9d, byte [r9 + r8 + 0x19]
sub r8, 0x20
cmp eax, r9d
jne 0x14000d454
mov dword [0x14000e0b0], edx
jmp 0x14000d458
dec edx
jmp 0x14000d435
movsxd rdx, dword [0x14000e0b0]
cmp edx, 0xffffffff
jne 0x14000d475
lea rcx, str.Warning:_KMS_GUID_not_in_database._n
call fcn.14000a630
jmp 0x14000d6f2
shl rdx, 5
add rdx, qword [rcx + 0x30]
cdqe
mov word [0x140011ca0], r13w
movups xmm2, xmmword [rdx]
shl rax, 5
add rax, qword [rcx + 0x28]
lea r15, [rsp + 0xa8]
movzx r8d, byte [rdx + 0x1b]
mov r9, r15
movups xmmword [0x140011d20], xmm2
movups xmm3, xmmword [rax]
movzx eax, byte [rdx + 0x18]
lea rdx, [rsp + 0x18c]
mov dword [0x140011cc0], r8d
shl rax, 5
add rax, qword [rcx + 0x20]
movups xmmword [0x140011c70], xmm3
movups xmm4, xmmword [rax]
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xa0]
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x9c]
mov rcx, qword [rsp + 0x80]
movups xmmword [0x14000e0d0], xmm4
mov qword [rsp + 0x20], rax
call fcn.14000c5d0
mov esi, eax
lea rax, [r14 + 2]
shl rax, 5
add rax, qword [rbx]
mov rcx, qword [rax + 8]
call fcn.14000aaf0
lea rcx, str.__11s
mov rdx, rax
call fcn.14000bc30
movzx eax, r13w
lea edx, [rdi + 7]
sub edx, eax
test esi, esi
je 0x14000d586
mov r9d, 9
mov rcx, qword [rsp + 0x80]
mov r8d, edx
mov edx, esi
sub r9d, eax
call fcn.14000a360
cmp esi, 1
je 0x14000d6f9
and esi, 0xf0000000
cmp esi, 0x80000000
jne 0x14000d6f2
dec r13d
dec edi
jmp 0x14000d6f2
mov rcx, qword [rbx]
lea rsi, [rsp + 0x278]
movzx r8d, byte [rcx + 8]
lea rcx, [0x1400133b0]
add r8d, 6
sub r8d, eax
call fcn.14000bc30
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x9c]
mov r8, r15
call fcn.14000a420
lea rcx, [rsp + 0xe8]
mov r9d, 0xc0
mov rdx, rsi
mov r8d, 0x40
call fcn.14000cda0
test eax, eax
jne 0x14000d5ef
mov word [rsp + 0x335], 0
mov byte [rsp + 0x337], 0
lea rax, [r14 + 2]
lea r15, [r12 + r14*8]
mov r14d, 0xff
shl rax, 5
add rax, qword [rbx]
mov rcx, qword [rax + 8]
call fcn.14000aaf0
mov rcx, qword [r15]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], rcx
call sub.msvcrt.dll_strlen
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsp + 0x70]
mov rdx, r14
mov r9, qword [rsp + 0x80]
sub rdx, rax
lea r8, str._s___s
call fcn.14000ca70
cmp word [rsp + 0xe2], 5
jbe 0x14000d6cf
mov rsi, qword [r15]
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rdx, r14
lea r8, str.____02X__02X__02X__02X__02X__02X__02X__02X
movzx r9d, byte [rsp + 0xa8]
sub rdx, rax
lea rcx, [rsi + rax]
movzx eax, byte [rsp + 0xaf]
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0xae]
mov dword [rsp + 0x48], eax
movzx eax, byte [rsp + 0xad]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0xac]
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0xab]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0xaa]
mov dword [rsp + 0x28], eax
movzx eax, byte [rsp + 0xa9]
mov dword [rsp + 0x20], eax
call fcn.14000ca70
mov rsi, qword [r15]
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov edx, 0xff
lea r8, [0x140012729]
sub rdx, rax
lea rcx, [rsi + rax]
call fcn.14000ca70
inc edi
jmp 0x14000d3d0
mov r13, qword [0x140011f00]
lea rdx, [0x14001276e]
mov rcx, r13
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14000daf1
mov rax, qword [rbx]
movzx esi, byte [rax + 8]
mov rcx, rsi
call sub.msvcrt.dll_malloc
mov rcx, rsi
mov rbx, rax
xor eax, eax
mov rdi, rbx
rep stosb byte [rdi], al
mov rcx, r13
call sub.msvcrt.dll_strlen
lea rcx, [rax + 2]
call fcn.14000d030
mov rsi, qword [0x140011f00]
mov rcx, rax
mov qword [rsp + 0x88], rax
mov rdx, rsi
call sub.msvcrt.dll_strcpy
mov rcx, qword [rsp + 0x88]
lea rdx, [0x1400133ec]
call sub.msvcrt.dll_strcat
mov rcx, rsi
lea rdx, [rsp + 0xb0]
lea rsi, [0x1400133fd]
call fcn.1400032b0
test eax, eax
je 0x14000d82f
mov rdi, qword [sym.imp.msvcrt.dll__errno]
call rdi
cmp dword [rax], 2
je 0x14000d7c7
call rdi
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [0x140011f00]
lea rcx, str.Fatal:__s:__s_n
mov r8, rax
call fcn.14000a630
mov ecx, ebx
call sub.msvcrt.dll_exit
mov rcx, qword [rsp + 0x88]
mov rdx, rsi
call sub.msvcrt.dll_fopen
mov rcx, rax
test rax, rax
jne 0x14000d7e3
call rdi
jmp 0x14000d85a
call sub.msvcrt.dll_fclose
test eax, eax
je 0x14000d81d
call rdi
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [rsp + 0x88]
lea rcx, str.Fatal:_Cannot_write_to__s:__s_n
mov r8, rax
call fcn.14000a630
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll__unlink
jmp 0x14000d7c0
mov r8, qword [0x140011f00]
xor edi, edi
lea rdx, str.Creating
jmp 0x14000d884
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll__unlink
mov rdx, qword [rsp + 0x88]
mov rcx, qword [0x140011f00]
call sub.msvcrt.dll_rename
test eax, eax
je 0x14000d873
call qword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [rsp + 0x88]
mov r8, rax
jmp 0x14000d912
mov r8, qword [0x140011f00]
mov dil, 1
lea rdx, str.Updating
lea rcx, str._n_s_file__s_n
call fcn.14000bc30
mov rcx, qword [rsp + 0x88]
lea rdx, [0x140013449]
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x14000d8d7
call qword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [rsp + 0x88]
lea rcx, str.Fatal:_Cannot_open__s:__s_n
mov r8, rax
jmp 0x14000d7bb
mov rcx, qword [0x140011f00]
mov rdx, rsi
mov esi, 1
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x14000d9b7
call qword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [0x140011f00]
mov r8, rax
lea rcx, str.Fatal:_Cannot_create__s:__s_n
jmp 0x14000d7bb
inc r13d
mov rax, qword [0x140015160]
mov rdx, qword [rax]
cmp r13b, byte [rdx + 8]
jae 0x14000d9e6
movzx r14d, r13b
lea r15, [r12 + r14*8]
mov rax, qword [r15]
cmp byte [rax], 0
je 0x14000d91e
mov rax, r14
shl rax, 5
mov rcx, qword [rax + rdx + 0x48]
call fcn.14000aaf0
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rdx, qword [r15]
mov rcx, qword [rsp + 0x60]
mov r8, rax
call qword [sym.imp.msvcrt.dll__strnicmp]
test eax, eax
jne 0x14000d91e
add r14, rbx
cmp byte [r14], 0
jne 0x14000d9a5
mov r8, qword [r15]
mov rcx, qword [rsp + 0x70]
lea rdx, [0x140012eb4]
call fcn.14000a6b0
mov r8, qword [r15]
mov edx, esi
lea rcx, str.line__2i:__s
call fcn.14000bc30
mov byte [r14], 1
mov rax, qword [0x140015160]
mov rax, qword [rax]
cmp r13b, byte [rax + 8]
jae 0x14000d9e6
inc esi
lea rax, [rsp + 0x278]
mov r8, qword [rsp + 0x80]
mov edx, 0x100
mov rcx, rax
mov qword [rsp + 0x60], rax
call sub.msvcrt.dll_fgets
test rax, rax
je 0x14000da01
xor r13d, r13d
jmp 0x14000d921
mov rcx, qword [rsp + 0x70]
lea r8, [rsp + 0x278]
lea rdx, [0x140012eb4]
call fcn.14000a6b0
jmp 0x14000d9b5
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_ferror
test eax, eax
je 0x14000da38
call qword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [rsp + 0x88]
lea rcx, str.Fatal:_Cannot_read_from__s:__s_n
mov r8, rax
jmp 0x14000d7bb
mov rcx, qword [rsp + 0x80]
xor r13d, r13d
call sub.msvcrt.dll_fclose
mov r15, qword [0x140015160]
mov rax, qword [r15]
cmp r13b, byte [rax + 8]
jae 0x14000da9a
movzx eax, r13b
cmp byte [rbx + rax], 0
jne 0x14000da95
lea r14, [r12 + rax*8]
mov r8, qword [r14]
cmp byte [r8], 0
je 0x14000da95
mov rcx, qword [rsp + 0x70]
lea rdx, [0x140012eb4]
call fcn.14000a6b0
movzx edx, r13b
mov r8, qword [r14]
lea rcx, str.line__2i:__s
add edx, esi
call fcn.14000bc30
inc r13d
jmp 0x14000da4f
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_fclose
test eax, eax
je 0x14000dacd
call qword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [rax]
mov ecx, ebx
call sub.msvcrt.dll_strerror
mov rdx, qword [0x140011f00]
lea rcx, str.Fatal:_Cannot_write_to__s:__s_n
mov r8, rax
jmp 0x14000d7bb
test dil, dil
jne 0x14000dadf
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll__unlink
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
jmp 0x14000dc7c
lea rcx, [0x140012729]
xor esi, esi
lea rdi, [0x140012eb4]
call fcn.14000bc30
mov rax, qword [rbx]
movzx eax, byte [rax + 8]
cmp eax, esi
jle 0x14000dc7c
mov rdx, qword [r12 + rsi*8]
mov rcx, rdi
inc rsi
call fcn.14000bc30
jmp 0x14000db06
mov eax, dword [0x140011cc0]
mov qword [rsp + 0xb0], 0xffffffffffffffff
cmp eax, 1
je 0x14000db3f
dec eax
mov dword [0x140011d00], eax
mov r13, qword [fcn.140008550]
mov esi, 1
lea rdi, [rsp + 0xe0]
lea r14, str._i_of__i
cmp dword [0x140011d00], 0
lea ebx, [rsi - 1]
je 0x14000dc7c
lea rax, [rsp + 0xa8]
lea r12, [rsp + 0x18c]
mov r9, rdi
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0xb0]
lea rdx, [rsp + 0x278]
mov r8, r12
mov rcx, r15
call fcn.14000c5d0
mov edx, eax
mov eax, dword [0x140011c30]
test eax, eax
je 0x14000dbe9
sub eax, ebx
dec eax
mov dword [0x140011d00], eax
test edx, edx
je 0x14000dc23
add ebx, dword [0x140011d00]
mov r8d, esi
mov rcx, r15
lea r9d, [rbx + 1]
call fcn.14000a360
cmp dword [0x140011c30], 0
jne 0x14000dc63
xor edx, edx
mov dword [0x140011d00], edx
jmp 0x14000dc63
test edx, edx
jne 0x14000dbbd
cmp dword [0x140011ed0], 0
mov eax, dword [0x140011cc0]
mov edx, dword [rsp + 0x22c]
je 0x14000dc6a
mov ecx, eax
sub ecx, edx
cmp ecx, dword [0x140011d00]
jl 0x14000dc6a
lea rcx, str._nThe_KMS_server_does_not_increment_its_active_clients._Aborting..._n
call fcn.14000a630
xor eax, eax
mov dword [0x140011d00], eax
mov ecx, 2
call r13
mov rcx, rax
call sub.msvcrt.dll_fflush
add ebx, dword [0x140011d00]
mov edx, esi
mov rcx, r14
lea r8d, [rbx + 1]
call fcn.14000bc30
mov ecx, dword [rsp + 0xa8]
mov r8, rdi
mov rdx, r12
call fcn.14000a420
mov dword [0x140011ed0], 1
inc esi
jmp 0x14000db60
sub eax, edx
mov edx, 0
cmovs eax, edx
mov dword [0x140011d00], eax
jmp 0x14000dc23
mov eax, dword [rsp + 0x6c]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret