Function at 0x44dce0
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48f2c2
mov eax, dword fs:[0]
push eax
sub esp, 0x454
mov eax, dword [0x4b571c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x328], 0
call fcn.0044d0e0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00468a50
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x491928
push 0
push 0
push 0x8023
push 0
call sub.SHELL32.dll_SHGetFolderPathAndSubDirW
test eax, eax
js 0x44e7dc
push str.ASUS
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0047352c
mov edi, dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
lea eax, [ebp - 0x218]
add esp, 0xc
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x44dd9c
push 0
lea eax, [ebp - 0x218]
push eax
call esi
push str.ARMOURY_CRATE_Diagnosis
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0047352c
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call edi
test eax, eax
jne 0x44ddcc
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.AsusLog
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0047352c
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call edi
test eax, eax
jne 0x44ddfc
push eax
lea eax, [ebp - 0x218]
push eax
call esi
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x320], 0
call fcn.00448520
push 0x20219
push str.SOFTWAREASUSAXSP
push reloc.ATKEX.dll_Ordinal_2
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], 0
mov dword [ebp - 0x340], 0
call fcn.00448550
lea eax, [ebp - 0x340]
push eax
push str.EnableLog
lea ecx, [ebp - 0x320]
call fcn.00448570
lea ecx, [ebp - 0x320]
call fcn.00448530
push 0x20219
push str.SOFTWAREASUSAXSP
push reloc.ATKEX.dll_Ordinal_2
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x334], 6
call fcn.00448550
lea eax, [ebp - 0x334]
push eax
push str.spdlog_debug
lea ecx, [ebp - 0x320]
call fcn.00448570
lea ecx, [ebp - 0x320]
call fcn.00448530
mov eax, dword [ebp - 0x340]
test eax, eax
jne 0x44dec4
mov dword [ebp - 0x334], 6
mov dword [ebp - 0x378], 6
jmp 0x44df1c
cmp eax, 6
je 0x44dee9
cmp eax, 1
je 0x44dee9
cmp eax, 2
je 0x44dee9
mov dword [ebp - 0x334], 6
mov dword [ebp - 0x378], 6
jmp 0x44df1c
cmp dword [ebp - 0x334], 1
jne 0x44df08
mov dword [ebp - 0x334], 1
mov dword [ebp - 0x378], 1
jmp 0x44df1c
mov dword [ebp - 0x334], 2
mov dword [ebp - 0x378], 2
push 0x104
lea eax, [ebp - 0x31c]
push 0
push eax
call fcn.00468a50
lea ecx, [ebp - 0x218]
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44df40
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_SHUnicodeToAnsi]
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x358], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44df90
sub ecx, edx
lea eax, [ebp - 0x31c]
push ecx
push eax
lea ecx, [ebp - 0x358]
call fcn.00404cf0
push 1
push 0x491924
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 1
call fcn.00404b70
cmp dword [ebp - 0x344], 0x10
lea esi, [ebp - 0x358]
lea ebx, [ebp - 0x358]
mov dword [ebp - 0x360], 0
cmovae esi, dword [ebp - 0x358]
lea ecx, [ebp - 0x370]
add esi, dword [ebp - 0x348]
cmp dword [ebp - 0x344], 0x10
mov dword [ebp - 0x35c], 7
cmovae ebx, dword [ebp - 0x358]
xor eax, eax
mov word [ebp - 0x370], ax
mov eax, esi
sub eax, ebx
push eax
call fcn.004384c0
push dword [ebp - 0x328]
lea ecx, [ebp - 0x370]
push esi
push ebx
call fcn.004343d0
sub esp, 0x18
mov byte [ebp - 4], 2
lea eax, [ebp - 0x370]
mov ecx, esp
push eax
call fcn.0042c0c0
mov ecx, dword [ebp - 0x380]
call fcn.0044aa30
push 0xc
push str.atkexcom.log
lea ecx, [ebp - 0x358]
call fcn.00404b70
mov eax, dword [ebp - 0x340]
cmp eax, 6
jne 0x44e402
xorps xmm0, xmm0
mov dword [ebp - 0x43c], 0
movlpd qword [ebp - 0x330], xmm0
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x3ec], 0
mov dword [ebp - 0x3c4], 0
cmp dword [ebp - 0x344], 0x10
lea edx, [ebp - 0x358]
mov byte [ebp - 4], 3
cmovae edx, dword [ebp - 0x358]
mov ecx, edx
mov dword [ebp - 0x388], 0
mov dword [ebp - 0x384], 0xf
mov byte [ebp - 0x398], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44e0e0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x398]
call fcn.00404cf0
push 7
push str.4.03.12
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 4
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0xf
mov byte [ebp - 0x3c0], 0
call fcn.00404cf0
lea eax, [ebp - 0x460]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x324]
mov byte [ebp - 0x324], 0
push eax
lea eax, [ebp - 0x338]
mov dword [ebp - 0x338], 3
push eax
lea eax, [ebp - 0x328]
mov dword [ebp - 0x328], 0x500000
push eax
lea eax, [ebp - 0x398]
push eax
sub esp, 0x18
lea eax, [ebp - 0x3c0]
mov ecx, esp
push eax
call fcn.00404df0
lea eax, [ebp - 0x330]
push eax
call fcn.004490e0
add esp, 0x30
mov dword [ebp - 0x338], 1
lea ecx, [ebp - 0x3c0]
call fcn.00404ac0
lea ecx, [ebp - 0x398]
call fcn.00404ac0
mov ecx, dword [ebp - 0x3c4]
mov byte [ebp - 4], 9
test ecx, ecx
je 0x44e1d5
mov edx, dword [ecx]
lea eax, [ebp - 0x3e8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x3c4], 0
mov ecx, dword [ebp - 0x3ec]
test ecx, ecx
je 0x44e1fd
mov edx, dword [ecx]
lea eax, [ebp - 0x410]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x3ec], 0
mov ecx, dword [ebp - 0x414]
test ecx, ecx
je 0x44e225
mov edx, dword [ecx]
lea eax, [ebp - 0x438]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x414], 0
mov ecx, dword [ebp - 0x43c]
test ecx, ecx
je 0x44e24d
mov edx, dword [ecx]
lea eax, [ebp - 0x460]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x43c], 0
push 0
sub esp, 0x18
mov ecx, esp
push 0x30
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str._Y__m__d__H:_M:_S__e__n_P:_P_T:_t___s:____:__v
mov byte [ecx], 0
call fcn.00404cf0
call fcn.004221e0
call fcn.004216e0
mov ebx, eax
lea esi, [ebx + 0x30]
push esi
mov dword [ebp - 0x37c], esi
call fcn.0044fa61
add esp, 0x20
test eax, eax
je 0x44e29c
push eax
call fcn.0044ff21
add esp, 4
push 0x64
mov byte [ebp - 4], 0xa
call fcn.00451308
add esp, 4
mov dword [ebp - 0x374], eax
test eax, eax
je 0x44e2fb
lea ecx, [ebp - 0x3a8]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__lambda_c4a36e7366b61b94062b933b1305c053___void___.virtual_0], vtable.std::_Func_impl_no_alloc_class__lambda_c4a36e7366b61b94062b933b1305c053___void___.0
mov dword [ebp - 0x3a4], ebx
mov dword [ebp - 0x384], ecx
mov ecx, 3
mov byte [ebp - 4], 0xc
push 0
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x328], ecx
lea ecx, [ebp - 0x3a8]
push 1
push ecx
mov ecx, eax
call fcn.004489b0
mov edi, eax
jmp 0x44e2fd
xor edi, edi
test byte [ebp - 0x338], 2
mov dword [ebp - 4], 0xa
je 0x44e32b
mov ecx, dword [ebp - 0x384]
test ecx, ecx
je 0x44e32b
mov edx, dword [ecx]
lea eax, [ebp - 0x3a8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [ebx + 0x110]
lea ecx, [ebp - 0x374]
cmp eax, ecx
je 0x44e34f
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x44e365
mov ecx, ebx
call fcn.004069e0
push 0x64
push ebx
jmp 0x44e35d
test edi, edi
je 0x44e365
mov ecx, edi
call fcn.004069e0
push 0x64
push edi
call fcn.00451338
add esp, 8
push esi
mov byte [ebp - 4], 0xe
call fcn.0044fa86
add esp, 4
test eax, eax
je 0x44e37f
push eax
call fcn.0044ff21
add esp, 4
mov edi, dword [ebp - 0x378]
push edi
mov byte [ebp - 4], 9
call fcn.00422140
push ecx
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x44e3ad
lock inc dword [eax + 4]
mov eax, dword [ebp - 0x330]
mov dword [ecx], eax
mov eax, dword [ebp - 0x32c]
mov dword [ecx + 4], eax
call fcn.00421fc0
mov esi, dword [ebp - 0x32c]
add esp, 8
test esi, esi
je 0x44e76a
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x44e76a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x44e76a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x44e76a
cmp eax, 2
jne 0x44e5c7
push 0x48
call fcn.00451308
mov edi, eax
add esp, 4
mov dword [ebp - 0x374], edi
mov byte [ebp - 4], 0xf
test edi, edi
je 0x44e458
push 0x3c
lea esi, [edi + 0xc]
mov dword [edi + 4], 1
push 0
push esi
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj_class_spdlog::sinks::msvc_sink_class_std::mutex__.0
call fcn.00468a50
add esp, 0xc
mov ecx, esi
call fcn.004086e0
mov dword [esi], vtable.spdlog::sinks::msvc_sink_class_std::mutex_.0
jmp 0x44e45a
xor edi, edi
xorps xmm0, xmm0
lea ebx, [edi + 0xc]
movlpd qword [ebp - 0x33c], xmm0
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 0x338], edi
push 0xc0
mov byte [ebp - 4], 0x10
call fcn.00451308
mov esi, eax
add esp, 4
mov dword [ebp - 0x374], esi
test esi, esi
je 0x44e4fe
sub esp, 8
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov eax, esp
mov dword [esi], vtable.std::_Ref_count_obj_class_spdlog::logger_.0
mov dword [ebp - 0x37c], esp
mov dword [eax], 0
mov dword [eax + 4], 0
test edi, edi
je 0x44e4c5
lock inc dword [edi + 4]
mov dword [eax], ebx
mov dword [eax + 4], edi
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
push 7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.4.03.12
mov byte [ecx], 0
call fcn.00404cf0
lea ecx, [esi + 0x10]
mov byte [ebp - 4], 0x11
call fcn.00407a60
jmp 0x44e500
xor esi, esi
xorps xmm0, xmm0
lea eax, [esi + 0x10]
movlpd qword [ebp - 0x330], xmm0
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], esi
push 0x30
push str._Y__m__d__H:_M:_S__e__n_P:_P_T:_t___s:____:__v
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x388], 0
mov dword [ebp - 0x384], 0xf
mov byte [ebp - 0x398], 0
call fcn.00404cf0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x14
push eax
mov ecx, ebx
call fcn.00409610
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x13
call fcn.00404ac0
mov edi, dword [ebp - 0x378]
mov ecx, ebx
push edi
call fcn.00422130
push edi
lea edi, [esi + 0x10]
mov ecx, edi
call fcn.00422120
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x44e59f
lock inc dword [esi + 4]
mov dword [eax], edi
mov dword [eax + 4], esi
call fcn.00421fc0
add esp, 8
lea ecx, [ebp - 0x330]
call fcn.004067a0
lea ecx, [ebp - 0x33c]
call fcn.004067a0
jmp 0x44e76a
cmp eax, 1
jne 0x44e765
push 0x34
call fcn.00451308
mov esi, eax
add esp, 4
mov dword [ebp - 0x374], esi
mov byte [ebp - 4], 0x15
test esi, esi
je 0x44e60a
lea ecx, [esi + 0xc]
mov dword [esi + 4], 1
push 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_class_spdlog::sinks::wincolor_stdout_sink_struct_spdlog::details::console_mutex__.0
call fcn.00407a30
jmp 0x44e60c
xor esi, esi
xorps xmm0, xmm0
lea ebx, [esi + 0xc]
movlpd qword [ebp - 0x33c], xmm0
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 0x338], esi
push 0xc0
mov byte [ebp - 4], 0x16
call fcn.00451308
mov edi, eax
add esp, 4
mov dword [ebp - 0x374], edi
test edi, edi
je 0x44e6b0
sub esp, 8
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, esp
mov dword [edi], vtable.std::_Ref_count_obj_class_spdlog::logger_.0
mov dword [ebp - 0x37c], esp
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x44e677
lock inc dword [esi + 4]
mov dword [eax], ebx
mov dword [eax + 4], esi
sub esp, 0x18
mov byte [ebp - 4], 0x18
mov ecx, esp
push 7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.4.03.12
mov byte [ecx], 0
call fcn.00404cf0
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 0x17
call fcn.00407a60
jmp 0x44e6b2
xor edi, edi
xorps xmm0, xmm0
lea esi, [edi + 0x10]
movlpd qword [ebp - 0x330], xmm0
mov dword [ebp - 0x330], esi
mov dword [ebp - 0x32c], edi
push 0x30
push str._Y__m__d__H:_M:_S__e__n_P:_P_T:_t___s:____:__v
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x388], 0
mov dword [ebp - 0x384], 0xf
mov byte [ebp - 0x398], 0
call fcn.00404cf0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, ebx
call fcn.00408290
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x19
call fcn.00404ac0
mov edi, dword [ebp - 0x378]
mov ecx, ebx
push edi
call fcn.00422130
push edi
mov ecx, esi
call fcn.00422120
sub esp, 8
lea eax, [ebp - 0x330]
mov ecx, esp
push eax
call fcn.00449fd0
call fcn.00421fc0
add esp, 8
lea ecx, [ebp - 0x330]
call fcn.004067a0
lea ecx, [ebp - 0x33c]
call fcn.004067a0
jmp 0x44e76a
call fcn.004223d0
lea ecx, [ebp - 0x370]
call fcn.004036f0
mov edx, dword [ebp - 0x344]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x44e7af
mov ecx, dword [ebp - 0x358]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e7a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e803
push edx
push ecx
call fcn.00451338
add esp, 8
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0xf
mov byte [ebp - 0x358], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00448530
mov ecx, dword [ebp - 0x380]
call fcn.0044d5a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004512f7
mov esp, ebp
pop ebp
ret
call fcn.0046c98c
int3