Function at 0x44db70
Capabilities:
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
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x57964d
push eax
mov dword fs:[0], esp
lea eax, [ebp - 0x280]
push ebx
sub esp, 0x270
push esi
push edi
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x44e1e8
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e46e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
push str.Qk12ASRIODNzkyFHgIm2MCg3OPDYiAIzkmgLAIsvMA
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.0042f750
test al, al
jne 0x44dc01
push 0x2c
push str.Qk12ASRIODNzkyFHgIm2MCg3OPDYiAIzkmgLAIsvMA
lea ecx, [ebp - 0x50]
call fcn.0042fa90
mov dword [ebp - 4], 1
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e478
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
push str.dG8zsaFZKXRBsohLkYcNGzpD8DBUbSVhpasCksNiVk8c8AQ
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.0042f750
test al, al
jne 0x44dc48
push 0x31
push str.dG8zsaFZKXRBsohLkYcNGzpD8DBUbSVhpasCksNiVk8c8AQ
lea ecx, [ebp - 0x48]
call fcn.0042fa90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x78]
push 0x54
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.TWpSSQR4FYNDU6eCyAkfESc7FIj8FCIS4ruHg4W3JAQ2TLjoZpDgI4PGCAkyIx4EJJD8ZMOy4jeNgA0sIw
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0
call fcn.0042db40
mov byte [ebp - 4], 5
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e46e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 6
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e46e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c], eax
push str.Z2lqaTDc9XW3Qv
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.0042f750
test al, al
jne 0x44dcd4
push 0xe
push str.Z2lqaTDc9XW3Qv
lea ecx, [ebp - 0x4c]
call fcn.0042fa90
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 8
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x40], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x44]
mov dword [esi], eax
call fcn.00445a80
add esp, 4
mov byte [ebp - 4], 9
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.00421db0
mov byte [ebp - 4], 8
add esp, 0xc
mov edx, dword [ebp - 0x44]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44dd36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov esi, esp
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x28]
mov dword [esi], eax
call fcn.00445a80
mov edi, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x2c]
mov dword [esi], eax
call fcn.00445a80
add esp, 4
push edi
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 0xb
mov ecx, eax
call fcn.0044ca20
mov edx, dword [ebp - 0x2c]
or esi, 0xffffffff
add esp, 4
mov byte [ebp - 0x15], al
add edx, 0xfffffff0
mov ecx, esi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x44ddb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, esi
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44ddd2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x14], esp
lea eax, [ebp - 0x78]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042ef00
mov ecx, esi
call fcn.00445650
mov byte [ebp - 4], 0xc
add esp, 0x14
mov ecx, dword [ebp - 0x24]
mov esi, esp
add ecx, 0xfffffff0
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x38], esi
call fcn.0042ee10
add eax, 0x10
mov dword [esi], eax
push ecx
mov edi, esp
mov byte [ebp - 4], 0xd
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
mov dword [ebp - 0x38], esi
call fcn.0042ee10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445a80
add esp, 4
mov byte [ebp - 4], 8
mov ecx, SysReAllocString
call fcn.00448d70
add esp, 0xc
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x15], 0
je 0x44de52
test al, al
jne 0x44e15b
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e482
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
push str.Y0RIUVxM2nJzMW4Jzw
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xe
call fcn.0042f750
test al, al
jne 0x44de92
push 0x13
push str.Y0RIUVxM2nJzMW4Jzw
lea ecx, [ebp - 0x28]
call fcn.0042fa90
mov byte [ebp - 4], 0xf
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e48c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x58], eax
push str.dFd5LdAA2MCh8rNNAsR9FSMQxGxoIqHxUdIOxwQ
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x10
call fcn.0042f750
test al, al
jne 0x44ded6
push 0x27
push str.dFd5LdAA2MCh8rNNAsR9FSMQxGxoIqHxUdIOxwQ
lea ecx, [ebp - 0x58]
call fcn.0042fa90
mov byte [ebp - 4], 0x11
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e496
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
push str.eVZraUg0l7Aw0asJA4zSDT8EqPCYkfDiFEvcw900GCMfgPQsjIBQ0aRJA4z7DT8EnPERz2Dw
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x12
call fcn.0042f750
test al, al
jne 0x44df1a
push 0x4a
push str.eVZraUg0l7Aw0asJA4zSDT8EqPCYkfDiFEvcw900GCMfgPQsjIBQ0aRJA4z7DT8EnPERz2Dw
lea ecx, [ebp - 0x54]
call fcn.0042fa90
mov byte [ebp - 4], 0x14
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4a0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 0x2d]
push eax
movzx eax, byte [ebp - 0x15]
push eax
push ecx
mov byte [ebp - 4], 0x15
mov esi, esp
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.00445a80
add esp, 4
mov byte [ebp - 4], 0x16
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.00421db0
mov byte [ebp - 4], 0x15
add esp, 0x10
mov edx, dword [ebp - 0x1c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44df9f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4aa
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 0x5911fc
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x17
call fcn.0042f750
test al, al
jne 0x44dfdf
push 0
push 0x5911fc
lea ecx, [ebp - 0x1c]
call fcn.0042fa90
mov byte [ebp - 4], 0x18
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4b4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
push 0x5911fc
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x19
call fcn.0042f750
test al, al
jne 0x44e023
push 0
push 0x5911fc
lea ecx, [ebp - 0x20]
call fcn.0042fa90
push ecx
mov byte [ebp - 4], 0x1a
mov esi, esp
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x60]
mov dword [esi], eax
call fcn.00445a80
mov edi, eax
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x5c]
mov dword [esi], eax
call fcn.00445a80
add esp, 4
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1c
push ecx
lea ecx, [ebp - 0x20]
mov edx, edi
push ecx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.00454c90
mov edx, dword [ebp - 0x5c]
or esi, 0xffffffff
add esp, 0xc
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e0ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e0c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e0e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e0fa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e114
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e12b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e142
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e15e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x44e15e
or esi, 0xffffffff
mov edx, dword [ebp - 0x3c]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e175
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e18f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x64]
cmp ecx, 8
jb 0x44e1c9
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44e1bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e4be
push ecx
push edx
call fcn.00549ad4
add esp, 8
mov edx, dword [ebp - 0x40]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e1e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
jmp 0x44e449
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4c3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
push str.c1k0XSwMrJWy8GXOkA
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x1d
call fcn.0042f750
test al, al
jne 0x44e22b
push 0x13
push str.c1k0XSwMrJWy8GXOkA
lea ecx, [ebp - 0x28]
call fcn.0042fa90
mov dword [ebp - 4], 0x1e
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4cd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
push str.NVZGHRnIzsMgVARJDQjSWyIC6L0czmJTJaOJD8ZcUzcvVKlAy
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1f
call fcn.0042f750
test al, al
jne 0x44e272
push 0x31
push str.NVZGHRnIzsMgVARJDQjSWyIC6L0czmJTJaOJD8ZcUzcvVKlAy
lea ecx, [ebp - 0x2c]
call fcn.0042fa90
mov byte [ebp - 4], 0x20
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4d7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
push 0x5911fc
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x21
call fcn.0042f750
test al, al
jne 0x44e2b6
push 0
push 0x5911fc
lea ecx, [ebp - 0x20]
call fcn.0042fa90
mov byte [ebp - 4], 0x22
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4e1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 0x5911fc
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x23
call fcn.0042f750
test al, al
jne 0x44e2fa
push 0
push 0x5911fc
lea ecx, [ebp - 0x1c]
call fcn.0042fa90
mov byte [ebp - 4], 0x24
call fcn.0042f4e0
mov ecx, eax
test ecx, ecx
je 0x44e4eb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x5911fc
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x25
call fcn.0042f750
test al, al
jne 0x44e33e
push 0
push 0x5911fc
lea ecx, [ebp - 0x24]
call fcn.0042fa90
push ecx
mov byte [ebp - 4], 0x26
mov esi, esp
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x3c]
mov dword [esi], eax
call fcn.00445a80
mov edi, eax
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.0042ee10
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445a80
add esp, 4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x28
push ecx
lea ecx, [ebp - 0x1c]
mov edx, edi
push ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00454c90
mov edx, dword [ebp - 0x40]
or esi, 0xffffffff
add esp, 0xc
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e3c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e3e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e3fb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e415
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e42f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e446
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x44e45b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
call fcn.0054e9bf
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
push 0x80004005
call fcn.0042fa70
int3