Function at 0x44d8f0
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a1db0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x448
push esi
push edi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x44df46
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x44df46
cmp esi, 0x3fffffff
ja 0x44df5d
lea eax, [esi*4]
cmp eax, 0x1000
jb 0x44d993
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x44df67
push ecx
call fcn.004728e6
add esp, 4
test eax, eax
je 0x44df72
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x44d9a6
test eax, eax
je 0x44d9a4
push eax
call fcn.004728e6
add esp, 4
mov ecx, eax
jmp 0x44d9a6
xor ecx, ecx
lea eax, [esi*4]
mov dword [ebp - 0x18], ecx
push eax
lea esi, [ecx + eax]
mov dword [ebp - 0x5c], ecx
push 0
push ecx
mov dword [ebp - 0x54], esi
call fcn.00474ed0
mov edi, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x58], esi
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
test edi, edi
je 0x44da4c
cmp edi, 0x3fffffff
ja 0x44df62
lea eax, [edi*4]
cmp eax, 0x1000
jb 0x44da1d
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x44df67
push ecx
call fcn.004728e6
add esp, 4
test eax, eax
je 0x44df72
lea edx, [eax + 0x23]
and edx, 0xffffffe0
mov esi, edx
mov dword [edx - 4], eax
jmp 0x44da32
test eax, eax
je 0x44da30
push eax
call fcn.004728e6
mov edx, eax
add esp, 4
mov esi, edx
jmp 0x44da32
xor edx, edx
lea eax, [esi + edi*4]
mov dword [ebp - 0x28], esi
mov ecx, edi
mov dword [ebp - 0x20], eax
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0
test edi, edi
jle 0x44dafc
mov eax, dword [ebp - 0x18]
sub eax, esi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
sub eax, esi
mov dword [ebp - 0x34], eax
nop dword [eax + eax]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [esi + eax]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
mov dword [ebp - 0x2c], eax
call fcn.00472922
add esp, 4
mov edi, eax
push dword [ebp - 0x2c]
push 0
push edi
call fcn.00474ed0
lea eax, [ebp - 0x60]
add esp, 0xc
cmp esi, eax
je 0x44dab8
mov eax, dword [esi]
mov dword [esi], edi
test eax, eax
je 0x44dac1
push eax
jmp 0x44dab9
push edi
call fcn.00472b7c
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x2c]
mov dword [esi + ecx], eax
push eax
mov eax, dword [ebp - 0x34]
push 0xffffffffffffffff
push dword [esi + eax]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x30]
add esi, 4
inc eax
cmp eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
jl 0x44da70
lea eax, [ebp - 0xac]
push 2
push eax
call fcn.00471eb6
lea eax, [ebp - 0xac]
push eax
call fcn.00471ed5
add esp, 0xc
test eax, eax
jne 0x44df6c
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0xac]
push eax
call fcn.00471ee6
add esp, 4
lea eax, [ebp - 0xac]
push eax
call fcn.00471e97
mov eax, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [ebp - 0x14]
mov esi, eax
lea edx, [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x1c], edx
cmp eax, edx
je 0x44df26
mov eax, dword [esi]
mov edi, ecx
mov ecx, str.__fixpermissions
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44db90
test dl, dl
je 0x44db8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44db90
add eax, 2
add ecx, 2
test dl, dl
jne 0x44db70
xor eax, eax
jmp 0x44db95
sbb eax, eax
or eax, 1
test eax, eax
lea ecx, [edi + 1]
cmovne ecx, edi
add esi, 4
cmp esi, dword [ebp - 0x1c]
jne 0x44db60
test ecx, ecx
jle 0x44df23
lea ecx, [ebp - 0x94]
call fcn.0044d120
cmp dword [eax + 0x10], 0
je 0x44dc27
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.00463500
push 0xc0
call fcn.004728e6
push ecx
lea ecx, [ebp - 0x50]
push ecx
mov ecx, eax
call fcn.004633c0
mov ecx, dword [0x4cfea4]
mov dword [0x4cfea4], eax
test ecx, ecx
je 0x44dbf3
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x44dc27
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44dc1d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44df72
push ecx
push edx
call fcn.004728b5
add esp, 8
mov ecx, dword [ebp - 0x80]
cmp ecx, 0x10
jb 0x44dc5e
mov edx, dword [ebp - 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44dc54
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44df77
push ecx
push edx
call fcn.004728b5
add esp, 8
push ecx
lea ecx, [ebp - 0x148]
call fcn.0044fcc0
mov edx, str.Logging_started_for_Battle.net__as_Permissions_Fixer__build
lea ecx, [ebp - 0x148]
call fcn.00452cc0
mov edx, 0x4bbe08
mov ecx, eax
call fcn.00452cc0
sub esp, 8
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x148]
push eax
call fcn.0044fbe0
mov edx, eax
mov ecx, 2
call fcn.00462460
mov ecx, dword [ebp - 0x80]
add esp, 8
cmp ecx, 0x10
jb 0x44dce1
mov edx, dword [ebp - 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44dcd7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44df7c
push ecx
push edx
call fcn.004728b5
add esp, 8
mov eax, dword [ebp - 0x148]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x14c], eax
lea ecx, [ebp - 0x144]
call fcn.0044f880
mov eax, dword [ebp - 0x148]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x14c], eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 4], 0
push eax
mov dword [ebp - 0xf8], vtable.std::ios_base.0
call fcn.00471bd2
add esp, 4
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x3c], 0xf
movups xmmword [ebp - 0x50], xmm0
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 0x50], 0
mov byte [ebp - 0x7c], 1
call fcn.0043f7b0
cmp dword [ebp - 0x40], 0
jne 0x44de99
lea eax, [ebp - 0x458]
push eax
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x44ddca
sub esp, 0xc
lea eax, [ebp - 0x458]
mov edx, 0x104
lea ecx, [ebp - 0x250]
push eax
call fcn.0043a8f0
add esp, 0x10
lea ecx, [ebp - 0x250]
mov esi, 0x4bc504
mov eax, ecx
mov dl, byte [ecx]
lea ecx, [ecx + 1]
test dl, dl
je 0x44dded
mov byte [eax], dl
lea edi, [ebp - 0x14d]
inc eax
cmp eax, edi
jb 0x44ddd7
mov byte [eax], 0
cmp byte [ebp - 0x250], 0
je 0x44de10
push 0
mov edx, 0x104
lea ecx, [ebp - 0x250]
call fcn.0043a2c0
add esp, 4
nop
mov al, byte [esi]
cmp al, 0x2f
je 0x44de1a
cmp al, 0x5c
jne 0x44de1d
inc esi
jmp 0x44de10
lea eax, [ebp - 0x250]
cmp byte [eax], 0
lea ecx, [ebp - 0x14d]
je 0x44de35
inc eax
cmp eax, ecx
jbe 0x44de23
jmp 0x44de5c
cmp eax, ecx
ja 0x44de5c
lea ecx, [ebp - 0x14d]
cmp eax, ecx
jae 0x44de59
mov cl, byte [esi]
lea esi, [esi + 1]
test cl, cl
je 0x44de59
mov byte [eax], cl
inc eax
lea ecx, [ebp - 0x14d]
cmp eax, ecx
jb 0x44de43
mov byte [eax], 0
lea edx, [ebp - 0x250]
push 0x104
mov ecx, edx
call fcn.0043a0f0
lea ecx, [ebp - 0x250]
add esp, 4
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44de80
sub ecx, edx
lea eax, [ebp - 0x250]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00440410
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x44decd
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44dec3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44df81
push ecx
push edx
call fcn.004728b5
add esp, 8
lea ecx, [ebp - 0x7c]
call fcn.0045efe0
mov ecx, dword [0x4cfea4]
mov dword [0x4cfea4], 0
test ecx, ecx
je 0x44deef
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x10
jb 0x44df1f
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44df15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44df81
push ecx
push edx
call fcn.004728b5
add esp, 8
xor esi, esi
jmp 0x44df32
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov edx, eax
call fcn.0044e6a0
mov esi, eax
lea ecx, [ebp - 0x28]
call fcn.00451610
lea ecx, [ebp - 0x5c]
call fcn.0043ced0
mov eax, esi
jmp 0x44df48
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.0043fda0
call fcn.0043fda0
call fcn.00401d90
push eax
call fcn.00470ecf
call fcn.0048610a
call fcn.0048610a
call fcn.0048610a
call fcn.0048610a
int3