Function at 0x446b48
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4e
push 0
push 0
dec ecx
jne 0x446b50
push ecx
push ebx
push esi
mov eax, 0x446980
call fcn.00406334
xor eax, eax
push ebp
push 0x4472d8
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x40c650]
call fcn.00402d68
mov dword [0x44b8d4], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4434f4]
call fcn.00443784
mov dword [0x44b8d0], eax
test bl, bl
jne 0x447295
push 0x44b8e0
push pe_nt_image_headers32
call sub.kernel32.dll_GetTempPathA
mov eax, 0x44b8dc
mov edx, 0x44b8e0
mov ecx, pe_nt_image_headers32
call fcn.00403c50
mov eax, dword [0x44b8dc]
call fcn.00403ca0
mov edx, dword [0x44b8dc]
cmp byte [edx + eax - 1], 0x5c
je 0x446be7
mov eax, 0x44b8dc
mov edx, 0x4472f0
call fcn.00403ca8
xor ebx, ebx
push dword [0x44b8dc]
push 0x4472fc
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.00407eec
push dword [ebp - 0x10]
push 0x447308
mov eax, 0x44b8d8
mov edx, 4
call fcn.00403d60
inc ebx
mov eax, dword [0x44b8d8]
call fcn.004080a8
test al, al
jne 0x446be9
mov eax, 0x44b8c8
mov edx, dword [0x44b8d8]
call fcn.00403a74
mov eax, 0x44b8d8
mov edx, 0x44a01c
call fcn.00403c44
xor edx, edx
mov ebx, 1
mov eax, 0x44a11d
mov cl, byte [eax]
mov esi, 9
sub esi, ebx
cmp cl, byte [esi + 0x44a01c]
je 0x446c62
mov dl, 1
inc ebx
inc eax
cmp ebx, 9
jne 0x446c4f
test dl, dl
je 0x446e36
mov eax, 0x44a01d
mov ebx, dword [eax]
mov eax, dword [0x44a4e8]
mov byte [eax], 0
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.0040290c
mov edx, dword [ebp - 0x14]
mov eax, 0x44b9e0
call fcn.00405666
mov eax, dword [0x44a4e8]
mov byte [eax], 0
mov edx, 1
mov eax, 0x44b9e0
call fcn.0040598d
call fcn.004027a0
call fcn.004027dc
test eax, eax
jne 0x446e24
mov edx, ebx
mov eax, 0x44b9e0
call fcn.004059c4
call fcn.004027a0
push 0
mov edx, 0x44b8c5
mov ecx, 1
mov eax, 0x44b9e0
call fcn.00405708
call fcn.004027a0
push 0
mov edx, 0x44b8c4
mov ecx, 1
mov eax, 0x44b9e0
call fcn.00405708
call fcn.004027a0
push 0
mov edx, 0x44bc78
mov ecx, 4
mov eax, 0x44b9e0
call fcn.00405708
call fcn.004027a0
mov eax, 0x44bc84
mov edx, dword [0x44bc78]
call fcn.00403fd4
push 0
mov eax, 0x44bc84
call fcn.00403e70
mov edx, eax
mov ecx, dword [0x44bc78]
mov eax, 0x44b9e0
call fcn.00405708
call fcn.004027a0
mov eax, dword [0x44a4e8]
mov byte [eax], 1
mov edx, dword [0x44b8c8]
mov eax, 0x44bb2c
call fcn.00405666
mov edx, 1
mov eax, 0x44bb2c
call fcn.004059a4
call fcn.004027a0
call fcn.004027dc
test eax, eax
jne 0x446e03
push 0x44bc7c
mov edx, 0x44b8e0
mov ecx, pe_nt_image_headers32
mov eax, 0x44b9e0
call fcn.00405708
call fcn.004027a0
call fcn.004027dc
test eax, eax
push 0x44bc80
mov edx, 0x44b8e0
mov ecx, dword [0x44bc7c]
mov eax, 0x44bb2c
call fcn.0040576c
call fcn.004027a0
call fcn.004027dc
test eax, eax
cmp dword [0x44bc7c], 0
je 0x446deb
mov eax, dword [0x44bc80]
cmp eax, dword [0x44bc7c]
je 0x446d8a
mov eax, 0x44bb2c
call fcn.004057d0
call fcn.004027a0
call fcn.004027dc
test eax, eax
jmp 0x446e13
push 0
push 0
push 0x447310
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 0x44b9e0
call fcn.004057d0
call fcn.004027a0
jmp 0x446e52
push 0
push 0
push 0x447338
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x446e52
push 0x10
push 0
push 0x447358
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, dword [0x44a478]
mov eax, dword [eax]
call fcn.00428508
push 0x44b8e0
push pe_nt_image_headers32
call sub.kernel32.dll_GetTempPathA
mov eax, 0x44b8dc
mov edx, 0x44b8e0
mov ecx, pe_nt_image_headers32
call fcn.00403c50
mov eax, dword [0x44b8dc]
call fcn.00403ca0
mov edx, dword [0x44b8dc]
cmp byte [edx + eax - 1], 0x5c
je 0x446e9b
mov eax, 0x44b8dc
mov edx, 0x4472f0
call fcn.00403ca8
xor ebx, ebx
push dword [0x44b8dc]
push 0x447398
lea edx, [ebp - 0x18]
mov eax, ebx
call fcn.00407eec
push dword [ebp - 0x18]
mov eax, 0x44b8d8
mov edx, 3
call fcn.00403d60
inc ebx
mov eax, dword [0x44b8d8]
call fcn.00440050
test al, al
jne 0x446e9d
mov eax, 0x44b8dc
mov edx, dword [0x44b8d8]
call fcn.00403a74
mov eax, dword [0x44b8dc]
call fcn.00403ca0
mov edx, dword [0x44b8dc]
cmp byte [edx + eax - 1], 0x5c
je 0x446f09
mov eax, 0x44b8dc
mov edx, 0x4472f0
call fcn.00403ca8
mov eax, 0x44b8cc
mov edx, dword [0x44b8dc]
call fcn.00403a74
mov edx, dword [0x44b8c8]
mov eax, dword [0x44b8d0]
call fcn.00443944
mov eax, dword [0x44b8d0]
call fcn.00443ee4
mov esi, eax
dec esi
test esi, esi
jl 0x446fb2
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x238]
mov edx, ebx
mov eax, dword [0x44b8d0]
call fcn.00443f38
lea edx, [ebp - 0x138]
lea eax, [ebp - 0x24]
call fcn.00403c44
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.0040822c
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00446808
mov ecx, dword [ebp - 0x1c]
mov eax, 0x44b8d8
mov edx, dword [0x44b8dc]
call fcn.00403cec
mov eax, dword [0x44b8d8]
call fcn.00440074
mov ecx, ebx
mov edx, dword [0x44b8d8]
mov eax, dword [0x44b8d0]
call fcn.00444374
mov eax, dword [0x44a478]
mov eax, dword [eax]
call fcn.004283f4
inc ebx
dec esi
jne 0x446f3d
mov eax, dword [0x44b8d0]
call fcn.00443e78
mov edx, dword [0x44b8c8]
mov eax, 0x44b9e0
call fcn.00405666
mov eax, 0x44b9e0
call fcn.0040580c
call fcn.004027a0
mov eax, dword [0x44bc84]
call fcn.00403ca0
cmp eax, 3
jl 0x447014
mov eax, dword [0x44bc84]
cmp byte [eax + 1], 0x3a
jne 0x447014
mov eax, dword [0x44bc84]
cmp byte [eax + 2], 0x5c
jne 0x447014
mov eax, 0x44bc84
mov ecx, 3
mov edx, 1
call fcn.00403ee8
lea eax, [ebp - 0x23c]
mov ecx, dword [0x44bc84]
mov edx, dword [0x44b8cc]
call fcn.00403cec
mov edx, dword [ebp - 0x23c]
mov eax, dword [0x44b8d4]
mov ecx, dword [eax]
call dword [ecx + 0x58]
lea edx, [ebp - 0x240]
mov eax, 0x4473a4
call fcn.004468b4
mov ecx, dword [ebp - 0x240]
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
lea edx, [ebp - 0x244]
mov eax, 0x4473b0
call fcn.004468b4
mov ecx, dword [ebp - 0x244]
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
mov ecx, 0x4473c0
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
lea edx, [ebp - 0x24c]
mov eax, 0x44741c
call fcn.004468b4
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x248]
mov edx, 0x447474
call fcn.00403cec
mov ecx, dword [ebp - 0x248]
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
lea edx, [ebp - 0x254]
mov eax, 0x447484
call fcn.004468b4
mov ecx, dword [ebp - 0x254]
lea eax, [ebp - 0x250]
mov edx, 0x447474
call fcn.00403cec
mov ecx, dword [ebp - 0x250]
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
lea edx, [ebp - 0x25c]
mov eax, 0x4474dc
call fcn.004468b4
mov ecx, dword [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov edx, 0x447474
call fcn.00403cec
mov ecx, dword [ebp - 0x258]
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
mov ecx, 0x4473c0
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
mov ecx, 0x447534
xor edx, edx
mov eax, dword [0x44b8d4]
mov ebx, dword [eax]
call dword [ebx + 0x54]
lea eax, [ebp - 0x260]
mov ecx, dword [0x44bc84]
mov edx, dword [0x44b8cc]
call fcn.00403cec
mov edx, dword [ebp - 0x260]
mov eax, dword [0x44b8d4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, 0x44b8d8
call fcn.00403a20
call fcn.004028ac
mov esi, eax
test esi, esi
jle 0x44722e
mov ebx, 1
lea edx, [ebp - 0x264]
mov eax, ebx
call fcn.0040290c
mov edx, dword [ebp - 0x264]
mov eax, 0x447548
call fcn.00403f8c
test eax, eax
jle 0x4471f4
push dword [0x44b8d8]
push 0x447554
lea edx, [ebp - 0x268]
mov eax, ebx
call fcn.0040290c
push dword [ebp - 0x268]
push 0x447560
mov eax, 0x44b8d8
mov edx, 4
call fcn.00403d60
jmp 0x447226
push dword [0x44b8d8]
push 0x447548
lea edx, [ebp - 0x26c]
mov eax, ebx
call fcn.0040290c
push dword [ebp - 0x26c]
push 0x447548
mov eax, 0x44b8d8
mov edx, 4
call fcn.00403d60
inc ebx
dec esi
jne 0x44719f
cmp byte [0x44b8c4], 0
je 0x447263
lea eax, [ebp - 0x270]
mov ecx, dword [0x44bc84]
mov edx, dword [0x44b8cc]
call fcn.00403cec
mov eax, dword [ebp - 0x270]
xor ecx, ecx
mov edx, dword [0x44b8d8]
call fcn.00446558
jmp 0x447290
lea eax, [ebp - 0x274]
mov ecx, dword [0x44bc84]
mov edx, dword [0x44b8cc]
call fcn.00403cec
mov eax, dword [ebp - 0x274]
mov ecx, 5
mov edx, dword [0x44b8d8]
call fcn.00446558
call fcn.004467e4
mov dl, 1
mov eax, dword [0x44b8d4]
mov ecx, dword [eax]
call dword [ecx - 4]
mov dl, 1
mov eax, dword [0x44b8d0]
mov ecx, dword [eax]
call dword [ecx - 4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4472df
lea eax, [ebp - 0x274]
mov edx, 0xf
call fcn.00403a44
lea eax, [ebp - 0x24]
mov edx, 6
call fcn.00403a44
ret