Function at 0x140026ac0
Capabilities:
Create directory

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x350
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402aa8c0]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov r13, rcx
mov rax, qword [0x1402c0bb0]
test rax, rax
je 0x140027123
cmp edx, 1
jne 0x140026dc7
call fcn.1400347dc
mov rcx, rax
test rax, rax
je 0x14002715e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.1400347dc
mov rcx, rax
test rax, rax
je 0x140027169
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r8d, 0xeadb
lea rcx, [rsp + 0x50]
call fcn.14000ef10
mov r8d, 0xeada
lea rcx, [rsp + 0x58]
call fcn.14000ef10
xor edi, edi
mov esi, edi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r13 + 0x260]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r12, [rdi - 1]
test eax, eax
jle 0x140026d9d
lea r15, [r13 + 0x220]
nop word [rax + rax]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, 4
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.140036b74
mov r9d, 2
mov r8d, esi
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140026c09
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
mov rdx, qword [0x1402c0bb0]
add rdx, 0x200
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
cmp ax, word [rcx + rdx]
jne 0x140026c36
add rcx, 2
test ax, ax
jne 0x140026c20
mov ebx, edi
jmp 0x140026c3b
sbb ebx, ebx
or ebx, 1
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140026c5a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
jne 0x140026cbf
mov r9, qword [rsp + 0x50]
cmp dword [r9 - 8], 1
jle 0x140026c7d
mov edx, dword [r9 - 0x10]
lea rcx, [rsp + 0x50]
call fcn.14000b5a0
mov r9, qword [rsp + 0x50]
mov r8d, reloc.WS2_32.dll_inet_addr
mov edx, esi
mov rcx, r15
call fcn.140036c6c
mov qword [rsp + 0x40], 1
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, 4
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.140036b74
jmp 0x140026d7b
mov r9d, reloc.WS2_32.dll_inet_addr
mov r8d, esi
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1400366f0
mov r14, rax
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 8], 1
jle 0x140026cf5
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.14000b5a0
mov rbx, qword [rsp + 0x50]
mov rax, qword [r14]
cmp dword [rax - 8], 1
jle 0x140026d0c
mov edx, dword [rax - 0x10]
mov rcx, r14
call fcn.14000b5a0
mov rax, qword [r14]
sub rbx, rax
nop
movzx ecx, word [rax]
cmp cx, word [rax + rbx]
jne 0x140026d26
add rax, 2
test cx, cx
jne 0x140026d10
mov ebx, edi
jmp 0x140026d2b
sbb ebx, ebx
or ebx, 1
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140026d4a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
jne 0x140026d7b
mov rax, qword [rsp + 0x58]
cmp dword [rax - 8], 1
jle 0x140026d66
mov edx, dword [rax - 0x10]
lea rcx, [rsp + 0x58]
call fcn.14000b5a0
mov r9, qword [rsp + 0x58]
mov r8d, reloc.WS2_32.dll_inet_addr
mov edx, esi
mov rcx, r15
call fcn.140036c6c
inc esi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r13 + 0x260]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp esi, eax
jl 0x140026bb0
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140026dbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
jmp 0x14002710a
cmp edx, 2
jne 0x140027123
cmp word [rax + 0x200], 0
je 0x140027123
call fcn.1400347dc
mov rcx, rax
test rax, rax
je 0x140027153
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8d, 0xead9
lea rcx, [rsp + 0x60]
call fcn.14000ef10
xor edi, edi
mov esi, edi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r13 + 0x260]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r12, [rdi - 1]
test eax, eax
jle 0x140026f43
nop word [rax + rax]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, 4
xor r8d, r8d
mov edx, esi
lea rcx, [r13 + 0x220]
call fcn.140036b74
mov r9d, 2
mov r8d, esi
lea rdx, [rsp + 0x78]
lea rcx, [r13 + 0x220]
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140026ea1
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
mov rdx, qword [0x1402c0bb0]
add rdx, 0x200
sub rdx, rcx
movzx eax, word [rcx]
cmp ax, word [rcx + rdx]
jne 0x140026ec8
add rcx, 2
test ax, ax
jne 0x140026eb2
mov ebx, edi
jmp 0x140026ecd
sbb ebx, ebx
or ebx, 1
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140026eec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
jne 0x140026f21
mov rax, qword [rsp + 0x60]
cmp dword [rax - 8], 1
jle 0x140026f08
mov edx, dword [rax - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000b5a0
mov r9, qword [rsp + 0x60]
mov r8d, reloc.WS2_32.dll_inet_addr
mov edx, esi
lea rcx, [r13 + 0x220]
call fcn.140036c6c
inc esi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r13 + 0x260]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp esi, eax
jl 0x140026e40
lea r8, [0x1402bf7e0]
lea rdx, str._sStatus
lea rcx, [rbp + 0x30]
call fcn.14000a640
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x30]
call fcn.1401d1654
test eax, eax
je 0x140026f74
lea rcx, [rbp + 0x30]
call fcn.1401d404c
mov r9d, dword [0x1402c0c3c]
lea r8, [0x1402bf7e0]
lea rdx, str._sStatus_d.dat
lea rcx, [rbp + 0x30]
call fcn.14000a640
lea rcx, [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [rbp - 0x78]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
imul ecx, ecx, 0x64
movzx eax, word [rbp - 0x76]
add ecx, eax
imul edx, ecx, 0x64
movzx eax, word [rbp - 0x72]
add edx, eax
imul ecx, edx, 0x64
movzx eax, word [rbp - 0x70]
add ecx, eax
imul r14d, ecx, 0x64
movzx eax, word [rbp - 0x6e]
add r14d, eax
mov r8d, r14d
lea rdx, [0x14026721c]
lea rcx, [rbp - 0x40]
call fcn.14000a640
mov rdx, qword [0x1402c0bb0]
add rdx, 0x200
lea r9, [rbp + 0x30]
lea r8, [rbp - 0x40]
lea rcx, [0x1402671b0]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [0x1402c0338], edi
mov dword [0x1402bf9ec], edi
mov qword [0x1402c0128], rdi
lea rcx, [0x1402c0b80]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x1402ae578]
mov dword [0x1402ae574], eax
mov eax, dword [0x1402c0b78]
mov dword [0x1402c0758], eax
mov rcx, qword [0x1402c0548]
test rcx, rcx
je 0x14002705a
call fcn.140029704
mov eax, dword [0x1402c0758]
mov qword [0x1402c0548], rdi
test eax, eax
jle 0x1400270ed
movsxd rcx, eax
mov eax, 0x78
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.14002970c
mov rbx, rax
mov qword [0x1402c0548], rax
movsxd rsi, dword [0x1402c0758]
imul r8, rsi, 0x78
mov rdx, qword [0x1402c0968]
mov rcx, rax
call fcn.1401cabb0
test esi, esi
jle 0x1400270ed
mov r10, qword [0x1402c0bb0]
nop
movsxd r9, edi
imul rax, r9, 0x78
add rax, rbx
lea r8, [r10 + 0x200]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1400270d8
add rax, 2
test ecx, ecx
jne 0x1400270c4
test edx, edx
je 0x1400270e4
inc edi
cmp edi, esi
jl 0x1400270b0
jmp 0x1400270ed
imul rax, r9, 0x78
mov dword [rax + rbx + 0x74], r14d
mov dword [0x1402c075c], 1
lea rcx, [0x1402c0b80]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x140027123
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.1401c8d10
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000bb00
int3
mov ecx, 0x80004005
call fcn.14000bb00
nop
mov ecx, 0x80004005
call fcn.14000bb00
int3