Function at 0x41a476
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x29c
mov eax, dword [0x4ea418]
xor eax, ebp
mov dword [ebp - 0x10], eax
push str.dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x41ac1b
mov esi, eax
push str.MiniDumpWriteDump
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41ac14
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], esi
xor esi, esi
lea edi, [ebp - 0x218]
push 0x208
push esi
push edi
call fcn.0049dcc0
add esp, 0xc
push edi
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, 0x4f012a
push ebx
push eax
push 0x4d4068
push edi
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
sub esp, 0x1c
mov dword [esp + 0x18], esi
movaps xmm0, xmmword [0x4d42b0]
movups xmmword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x14], 0x80
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x41ac0e
mov dword [ebp - 0x2a0], eax
mov esi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x228], 0
xor ebx, ebx
dec ebx
lea esi, [ebp - 0x23c]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0x4eead2
push edi
call fcn.004b8b3c
add esp, 4
push eax
push edi
push esi
call fcn.00455a30
add esp, 0xc
lea esi, [ebp - 0x248]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0x4eeee2
push edi
call fcn.004b8b3c
add esp, 4
push eax
push edi
push esi
call fcn.00455a30
add esp, 0xc
lea esi, [ebp - 0x254]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0x4ef0ea
push edi
call fcn.004b8b3c
add esp, 4
push eax
push edi
mov dword [ebp - 0x290], esi
push esi
call fcn.00455a30
add esp, 0xc
lea esi, [ebp - 0x260]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0x4ef702
push edi
call fcn.004b8b3c
add esp, 4
push eax
push edi
mov dword [ebp - 0x294], esi
push esi
call fcn.00455a30
add esp, 0xc
lea esi, [ebp - 0x26c]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0x4eecda
push edi
call fcn.004b8b3c
add esp, 4
push eax
push edi
mov dword [ebp - 0x298], esi
push esi
call fcn.00455a30
add esp, 0xc
lea esi, [ebp - 0x278]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov edi, 0x4efb12
push edi
call fcn.004b8b3c
add esp, 4
push eax
push edi
mov dword [ebp - 0x29c], esi
push esi
call fcn.00455a30
add esp, 0xc
lea edi, [ebp - 0x284]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov ebx, 0x4efd1a
push ebx
call fcn.004b8b3c
add esp, 4
push eax
push ebx
push edi
call fcn.00455a30
add esp, 0xc
call fcn.00418528
cmp byte [eax + 0xb], 0
jns 0x41a691
mov ebx, 0x7f
cmp dword [eax + 4], 0x7f
ja 0x41a6a1
call fcn.00418528
movzx ebx, byte [eax + 0xb]
test bl, bl
jns 0x41a6a1
mov ebx, dword [eax + 4]
call fcn.00418528
cmp byte [eax + 0xb], 0
jns 0x41a6ae
mov eax, dword [eax]
test ebx, ebx
je 0x41a730
cmp ebx, 0x7f
ja 0x41a6cc
test eax, eax
je 0x41a6cc
push ebx
push eax
push 0x4f0e1c
call fcn.0049d740
add esp, 0xc
jmp 0x41a730
xorps xmm0, xmm0
movups xmmword [0x4f0e8b], xmm0
movups xmmword [0x4f0e7c], xmm0
movups xmmword [0x4f0e6c], xmm0
movups xmmword [0x4f0e5c], xmm0
movups xmmword [0x4f0e4c], xmm0
movups xmmword [0x4f0e3c], xmm0
movups xmmword [0x4f0e2c], xmm0
movups xmmword [0x4f0e1c], xmm0
test eax, eax
je 0x41a720
cmp ebx, 0x80
jb 0x41a730
call fcn.004ae6e7
mov dword [eax], 0x22
jmp 0x41a72b
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov byte [0x4f0e9b], 0
movzx eax, byte [ebp - 0x23d]
test al, al
js 0x41a74a
lea edx, [ebp - 0x248]
jmp 0x41a761
mov edx, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
cmp ecx, 0x7f
mov eax, 0x7f
cmovb eax, ecx
test eax, eax
je 0x41a7c5
test edx, edx
je 0x41a77a
push eax
push edx
push 0x4f0e9c
call fcn.0049d740
add esp, 0xc
jmp 0x41a7c5
xorps xmm0, xmm0
movups xmmword [0x4f0f0b], xmm0
movups xmmword [0x4f0efc], xmm0
movups xmmword [0x4f0eec], xmm0
movups xmmword [0x4f0edc], xmm0
movups xmmword [0x4f0ecc], xmm0
movups xmmword [0x4f0ebc], xmm0
movups xmmword [0x4f0eac], xmm0
movups xmmword [0x4f0e9c], xmm0
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov byte [0x4f0f1b], 0
movzx eax, byte [ebp - 0x249]
test al, al
jns 0x41a7f4
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x250]
cmp ecx, 0x7f
mov eax, 0x7f
cmovb eax, ecx
test eax, eax
je 0x41a85e
mov ecx, dword [ebp - 0x290]
test ecx, ecx
je 0x41a813
push eax
push ecx
push 0x4f0f1c
call fcn.0049d740
add esp, 0xc
jmp 0x41a85e
xorps xmm0, xmm0
movups xmmword [0x4f0f8b], xmm0
movups xmmword [0x4f0f7c], xmm0
movups xmmword [0x4f0f6c], xmm0
movups xmmword [0x4f0f5c], xmm0
movups xmmword [0x4f0f4c], xmm0
movups xmmword [0x4f0f3c], xmm0
movups xmmword [0x4f0f2c], xmm0
movups xmmword [0x4f0f1c], xmm0
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov byte [0x4f0f9b], 0
movzx eax, byte [ebp - 0x255]
test al, al
jns 0x41a88d
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x25c]
cmp ecx, 0x7f
mov eax, 0x7f
cmovb eax, ecx
test eax, eax
je 0x41a8f7
mov ecx, dword [ebp - 0x294]
test ecx, ecx
je 0x41a8ac
push eax
push ecx
push 0x4f0f9c
call fcn.0049d740
add esp, 0xc
jmp 0x41a8f7
xorps xmm0, xmm0
movups xmmword [0x4f100b], xmm0
movups xmmword [0x4f0ffc], xmm0
movups xmmword [0x4f0fec], xmm0
movups xmmword [0x4f0fdc], xmm0
movups xmmword [0x4f0fcc], xmm0
movups xmmword [0x4f0fbc], xmm0
movups xmmword [0x4f0fac], xmm0
movups xmmword [0x4f0f9c], xmm0
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov byte [0x4f101b], 0
movzx eax, byte [ebp - 0x261]
test al, al
jns 0x41a926
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x268]
cmp ecx, 0x7f
mov eax, 0x7f
cmovb eax, ecx
test eax, eax
je 0x41a990
mov ecx, dword [ebp - 0x298]
test ecx, ecx
je 0x41a945
push eax
push ecx
push 0x4f101c
call fcn.0049d740
add esp, 0xc
jmp 0x41a990
xorps xmm0, xmm0
movups xmmword [0x4f108b], xmm0
movups xmmword [0x4f107c], xmm0
movups xmmword [0x4f106c], xmm0
movups xmmword [0x4f105c], xmm0
movups xmmword [0x4f104c], xmm0
movups xmmword [0x4f103c], xmm0
movups xmmword [0x4f102c], xmm0
movups xmmword [0x4f101c], xmm0
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov byte [0x4f109b], 0
mov bl, byte [ebp - 0x26d]
test bl, bl
js 0x41a9a6
movzx eax, bl
jmp 0x41a9c3
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x274]
cmp ecx, 0x7f
mov eax, 0x7f
cmovb eax, ecx
test eax, eax
je 0x41aa33
mov ecx, dword [ebp - 0x29c]
test ecx, ecx
je 0x41a9e2
push eax
push ecx
push 0x4f131c
call fcn.0049d740
add esp, 0xc
jmp 0x41aa33
xorps xmm0, xmm0
movups xmmword [0x4f138b], xmm0
movups xmmword [0x4f137c], xmm0
movups xmmword [0x4f136c], xmm0
movups xmmword [0x4f135c], xmm0
movups xmmword [0x4f134c], xmm0
movups xmmword [0x4f133c], xmm0
movups xmmword [0x4f132c], xmm0
movups xmmword [0x4f131c], xmm0
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov bl, byte [ebp - 0x26d]
mov byte [0x4f139b], 0
test bl, bl
jns 0x41aa46
mov eax, dword [ebp - 0x274]
jmp 0x41aa49
movzx eax, bl
test eax, eax
je 0x41aa5a
xor eax, eax
inc eax
mov dword [0x4f13c0], eax
mov dword [0x4f13c4], eax
mov dword [0x4f139c], 3
movzx eax, byte [ebp - 0x279]
test al, al
jns 0x41aa86
mov edi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x280]
cmp ecx, 0x7f
mov eax, 0x7f
cmovb eax, ecx
test eax, eax
je 0x41aaea
test edi, edi
je 0x41aa9f
push eax
push edi
push 0x4f0d9c
call fcn.0049d740
add esp, 0xc
jmp 0x41aaea
xorps xmm0, xmm0
movups xmmword [0x4f0e0b], xmm0
movups xmmword [0x4f0dfc], xmm0
movups xmmword [0x4f0dec], xmm0
movups xmmword [0x4f0ddc], xmm0
movups xmmword [0x4f0dcc], xmm0
movups xmmword [0x4f0dbc], xmm0
movups xmmword [0x4f0dac], xmm0
movups xmmword [0x4f0d9c], xmm0
call fcn.004ae6e7
mov dword [eax], 0x16
call fcn.004af7c0
mov byte [0x4f0e1b], 0
lea eax, [ebp - 0x224]
mov dword [eax], 0x3600001
mov dword [eax + 4], 0x634
mov dword [eax + 8], 0x4f0d9c
lea ecx, [ebp - 0x28c]
mov dword [ecx], 1
mov dword [ecx + 4], eax
cmp byte [0x4f0d94], 0
mov eax, 0x24
mov esi, 2
cmove esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, eax
mov ecx, dword [ebp - 0x2a4]
call dword [0x4e4884]
lea eax, [ebp - 0x230]
push 0
lea edx, [ebp - 0x28c]
push edx
push eax
push esi
mov esi, dword [ebp - 0x2a0]
push esi
push ebx
push edi
call ecx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0x279], 0
jns 0x41ab84
push dword [ebp - 0x284]
call fcn.00494236
add esp, 4
cmp byte [ebp - 0x26d], 0
jns 0x41ab9b
push dword [ebp - 0x278]
call fcn.00494236
add esp, 4
cmp byte [ebp - 0x261], 0
jns 0x41abb2
push dword [ebp - 0x26c]
call fcn.00494236
add esp, 4
cmp byte [ebp - 0x255], 0
jns 0x41abc9
push dword [ebp - 0x260]
call fcn.00494236
add esp, 4
cmp byte [ebp - 0x249], 0
jns 0x41abe0
push dword [ebp - 0x254]
call fcn.00494236
add esp, 4
cmp byte [ebp - 0x23d], 0
jns 0x41abf7
push dword [ebp - 0x248]
call fcn.00494236
add esp, 4
cmp byte [ebp - 0x231], 0
jns 0x41ac0e
push dword [ebp - 0x23c]
call fcn.00494236
add esp, 4
mov esi, dword [ebp - 0x2a8]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004961ed
add esp, 0x29c
pop esi
pop edi
pop ebx
pop ebp
ret