Function at 0x4c2060
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x538110
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x5ba11c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], 0
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4c25e4
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 1
lea eax, [ebp - 0x14]
mov dword [ebp - 0x4c], eax
mov edi, 1
mov eax, dword [esi - 8]
mov ecx, edi
sub ecx, dword [esi - 4]
sub eax, 0x104
or eax, ecx
mov dword [ebp - 0x44], 0xffffffff
jge 0x4c20e8
push 0x104
lea ecx, [ebp - 0x14]
call fcn.004536f0
mov esi, dword [ebp - 0x14]
push 0
mov dword [ebp - 0x48], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x104
push esi
push eax
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_K32GetModuleBaseNameW]
lea ecx, [ebp - 0x4c]
call fcn.00452c70
mov eax, dword [ebp - 0x14]
mov edx, dword [eax - 0xc]
test edx, edx
js 0x4c25ee
mov ecx, dword [eax - 8]
sub edi, dword [eax - 4]
sub ecx, edx
or ecx, edi
jge 0x4c2131
push edx
lea ecx, [ebp - 0x14]
call fcn.004536f0
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
mov eax, dword [ebp - 0x14]
push dword [eax - 8]
push eax
call fcn.004f5e70
mov edx, eax
add esp, 8
test edx, edx
js 0x4c25ee
mov ecx, dword [ebp - 0x14]
cmp edx, dword [ecx - 8]
jg 0x4c25ee
mov dword [ecx - 0xc], edx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov word [eax + edx*2], cx
mov byte [ebp - 4], 2
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4c25f8
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 0x34], eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x38], ecx
push 0x5f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.0046eca0
push str.2580
lea ecx, [ebp - 0x14]
call fcn.004c30f0
push 0x5f
lea ecx, [ebp - 0x14]
call fcn.0046eca0
push 0x5875d4
lea ecx, [ebp - 0x14]
call fcn.004c30f0
push 0x5f
lea ecx, [ebp - 0x14]
call fcn.0046eca0
lea ecx, [ebp - 0x54]
call fcn.0044d8d0
push str._Y__m__d___H__M__S
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x54]
call fcn.0044d8f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x14]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.00453540
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
or edi, 0xffffffff
mov byte [ebp - 4], 5
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4c2212
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x40], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov byte [ebp - 4], 6
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4c2602
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xd]
mov byte [ebp - 0xd], 0
call fcn.004951c0
test eax, eax
jns 0x4c2260
call fcn.00501ddc
mov byte [ebp - 0xd], al
jmp 0x4c2263
mov al, byte [ebp - 0xd]
movzx eax, al
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x20]
push dword [ebx + 0xc]
push str.__08X__08X__02X
push eax
call fcn.00453b60
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
add esp, 0x14
lea ebx, [eax - 0x10]
mov dword [ebp - 0x24], ebx
push dword [ebx + 4]
push eax
call fcn.00453540
push str..dmp
lea ecx, [ebp - 0x14]
call fcn.0046d470
push 0x5c
call fcn.004c1a20
mov edx, eax
lea ecx, [ebp - 0x28]
call fcn.0046e930
push 0x5c40ac
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x18]
call fcn.00452680
add esp, 8
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xb
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4c22e5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
mov byte [ebp - 4], 0xa
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
test eax, eax
jne 0x4c242d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, 0xb7
je 0x4c242a
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c226c], 0
jne 0x4c2379
mov ecx, 0xf0
call fcn.004d0a00
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4c236e
movsd xmm0, qword [ebp - 0x48]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c226c
sub esp, 0xc
push 0x87
push str.C:BuildAgentwork4d643bb3f4c71f96CommonDebugHelper.cpp
push 8
call fcn.004d0210
jmp 0x4c2370
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [0x5c53bc], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c53bc]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c53bc]
mov esi, dword [ebp - 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x2c], eax
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4c260c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push esi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
call fcn.00452e50
test al, al
jne 0x4c23d5
push esi
lea ecx, [ebp - 0x1c]
call fcn.00452330
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x1c]
push esi
push ebx
push str.Cant_create_directory___u_:__s
push dword [0x5c53bc]
call dword [ebp - 0x2c]
add esp, 0x10
add esi, 0xfffffff0
mov byte [ebp - 4], 0xf
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4c240a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov ecx, dword [0x5c53bc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c53bc]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
mov ebx, dword [ebp - 0x24]
push 0x5c
lea ecx, [ebp - 0x18]
call fcn.0046eca0
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x18]
push dword [eax - 0xc]
push eax
call fcn.00453540
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c2270], 0
jne 0x4c24a7
mov ecx, 0xf0
call fcn.004d0a00
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4c249c
movsd xmm0, qword [ebp - 0x48]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c2270
sub esp, 0xc
push 0x8d
push str.C:BuildAgentwork4d643bb3f4c71f96CommonDebugHelper.cpp
push 8
call fcn.004d0210
jmp 0x4c249e
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [0x5c53b8], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c53b8]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c53b8]
mov esi, dword [ebp - 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x2c], eax
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4c2616
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push esi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x11
call fcn.00452e50
test al, al
jne 0x4c2503
push esi
lea ecx, [ebp - 0x1c]
call fcn.00452330
mov byte [ebp - 4], 0x12
mov esi, dword [ebp - 0x1c]
push esi
push str.Creating_dump_file:__s
push dword [0x5c53b8]
call dword [ebp - 0x2c]
add esp, 0xc
add esi, 0xfffffff0
mov byte [ebp - 4], 0x13
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4c2537
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov ecx, dword [0x5c53b8]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c53b8]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x18]
call fcn.004c1e10
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x14
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4c2580
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov eax, edi
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x4c2598
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov eax, edi
mov byte [ebp - 4], 0x16
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4c25b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x17
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x4c25d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0044a700
push 0x80070057
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
int3