Function at 0x412fd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44a06b
mov eax, dword fs:[0]
push eax
sub esp, 0x208
mov eax, dword [0x466124]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
sub esp, 0x18
mov ecx, esp
push 0x46744c
call fcn.00423040
lea ecx, [ebp - 0x1ec]
call fcn.004061f0
mov ecx, esp
mov dword [ebp - 4], 0
push 0x466d8c
call fcn.00423040
lea ecx, [ebp - 0x1a4]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 1
push 0x467524
call fcn.00423040
lea ecx, [ebp - 0x1d4]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 2
push 0x467584
call fcn.00423040
lea ecx, [ebp - 0x18c]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 3
push 0x466fcc
call fcn.00423040
lea ecx, [ebp - 0x1bc]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 4
push 0x466d14
call fcn.00423040
lea ecx, [ebp - 0x174]
call fcn.004061f0
add esp, 0x18
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 5
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4130f0
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00423f50
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
push 0x4671ac
call fcn.00423040
lea ecx, [ebp - 0x15c]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 7
push 0x467404
call fcn.00423040
lea ecx, [ebp - 0x144]
call fcn.004061f0
mov byte [ebp - 4], 8
mov edx, esp
mov esi, closesocket
mov dword [ebp - 0x1f0], edx
mov ebx, dword [ebp - 0x11c]
mov eax, esi
mov edi, dword [0x467054]
sub eax, ebx
cmp eax, edi
jb 0x4139e8
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x467044
cmp dword [0x467058], 0x10
cmovae eax, dword [0x467044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1f0]
mov ecx, edx
call fcn.00425620
call fcn.00406d90
mov edx, esp
mov dword [ebp - 0x1f0], esp
mov dword [ebp - 0x1f8], edx
mov eax, esi
mov edi, dword [0x467054]
sub eax, edi
mov ebx, dword [ebp - 0x134]
cmp eax, ebx
jb 0x4139e8
cmp dword [0x467058], 0x10
lea eax, [ebp - 0x144]
mov ecx, 0x467044
cmovae ecx, dword [0x467044]
cmp dword [ebp - 0x130], 0x10
push ebx
cmovae eax, dword [ebp - 0x144]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f8]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 9
mov edx, esp
mov dword [ebp - 0x1f8], esp
mov dword [ebp - 0x1fc], edx
mov eax, esi
mov ebx, dword [ebp - 0x11c]
sub eax, ebx
mov edi, dword [0x467054]
cmp eax, edi
jb 0x4139e8
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x467044
cmp dword [0x467058], 0x10
cmovae eax, dword [0x467044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1fc]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov edx, esp
mov dword [ebp - 0x1fc], esp
mov dword [ebp - 0x1f4], edx
mov eax, esi
mov edi, dword [ebp - 0x194]
sub eax, edi
mov ebx, dword [ebp - 0x14c]
cmp eax, ebx
jb 0x4139ed
cmp dword [ebp - 0x190], 0x10
lea ecx, [ebp - 0x1a4]
push ebx
cmovae ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0x10
cmovae eax, dword [ebp - 0x15c]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1ec]
mov ecx, esp
push eax
call fcn.00423040
mov byte [ebp - 4], 8
call fcn.0040f8f0
add esp, 0x48
mov eax, esi
mov edx, esp
mov dword [ebp - 0x1f4], esp
mov dword [ebp - 0x1fc], edx
mov edi, dword [0x467054]
sub eax, edi
mov ebx, dword [ebp - 0x134]
cmp eax, ebx
jb 0x4139e8
cmp dword [0x467058], 0x10
lea eax, [ebp - 0x144]
mov ecx, 0x467044
cmovae ecx, dword [0x467044]
cmp dword [ebp - 0x130], 0x10
push ebx
cmovae eax, dword [ebp - 0x144]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, esp
mov dword [ebp - 0x1fc], esp
mov dword [ebp - 0x1f8], edx
mov eax, esi
mov ebx, dword [ebp - 0x11c]
sub eax, ebx
mov edi, dword [0x467054]
cmp eax, edi
jb 0x4139f2
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x467044
cmp dword [0x467058], 0x10
cmovae eax, dword [0x467044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov edx, esp
mov dword [ebp - 0x1f8], esp
mov dword [ebp - 0x1f0], edx
mov eax, esi
mov edi, dword [ebp - 0x17c]
sub eax, edi
mov ebx, dword [ebp - 0x14c]
cmp eax, ebx
jb 0x4139f7
cmp dword [ebp - 0x178], 0x10
lea ecx, [ebp - 0x18c]
push ebx
cmovae ecx, dword [ebp - 0x18c]
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0x10
cmovae eax, dword [ebp - 0x15c]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00423040
mov byte [ebp - 4], 8
call fcn.0040f8f0
add esp, 0x48
mov eax, esi
mov edx, esp
mov dword [ebp - 0x1f4], esp
mov dword [ebp - 0x1fc], edx
mov edi, dword [0x467054]
sub eax, edi
mov ebx, dword [ebp - 0x134]
cmp eax, ebx
jb 0x4139e8
cmp dword [0x467058], 0x10
lea eax, [ebp - 0x144]
mov ecx, 0x467044
cmovae ecx, dword [0x467044]
cmp dword [ebp - 0x130], 0x10
push ebx
cmovae eax, dword [ebp - 0x144]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0xf
mov edx, esp
mov dword [ebp - 0x1fc], esp
mov dword [ebp - 0x1f8], edx
mov eax, esi
mov ebx, dword [ebp - 0x11c]
sub eax, ebx
mov edi, dword [0x467054]
cmp eax, edi
jb 0x4139fc
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x467044
cmp dword [0x467058], 0x10
cmovae eax, dword [0x467044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov edx, esp
mov dword [ebp - 0x1f8], esp
mov dword [ebp - 0x1f0], edx
mov eax, esi
mov edi, dword [ebp - 0x164]
sub eax, edi
mov ebx, dword [ebp - 0x14c]
cmp eax, ebx
jb 0x413a01
cmp dword [ebp - 0x160], 0x10
lea ecx, [ebp - 0x174]
push ebx
cmovae ecx, dword [ebp - 0x174]
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0x10
cmovae eax, dword [ebp - 0x15c]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425620
sub esp, 0x18
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x1bc]
mov ecx, esp
push eax
call fcn.00423040
mov byte [ebp - 4], 8
call fcn.0040f8f0
mov edi, dword [ebp - 0x11c]
mov eax, esi
mov edx, dword [0x467054]
sub eax, edi
add esp, 0x60
cmp eax, edx
jb 0x413a06
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edx
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x467044
cmp dword [0x467058], 0x10
cmovae eax, dword [0x467044]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
lea ecx, [ebp - 0x214]
call fcn.00425620
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
push 0x45dbd4
cmovae eax, dword [ebp - 0x214]
push eax
call fcn.0042dee0
add esp, 8
test eax, eax
je 0x41361b
push eax
call fcn.0042e4c6
add esp, 4
mov bl, 1
jmp 0x41361d
xor bl, bl
mov edx, dword [ebp - 0x200]
cmp edx, 0x10
jb 0x413657
mov ecx, dword [ebp - 0x214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41364d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a0b
push edx
push ecx
call fcn.00429d36
add esp, 8
test bl, bl
je 0x413709
mov edi, dword [ebp - 0x11c]
sub esi, edi
mov edx, dword [0x467054]
cmp esi, edx
jb 0x413a10
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edx
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x467044
cmp dword [0x467058], 0x10
cmovae eax, dword [0x467044]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
lea ecx, [ebp - 0x214]
call fcn.00425620
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
cmovae eax, dword [ebp - 0x214]
push eax
call fcn.0042e6d0
mov edx, dword [ebp - 0x200]
add esp, 4
cmp edx, 0x10
jb 0x413709
mov ecx, dword [ebp - 0x214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4136ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a15
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x413743
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413739
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
cmp edx, 0x10
jb 0x413798
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41378e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp edx, 0x10
jb 0x4137ed
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4137e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x160]
cmp edx, 0x10
jb 0x413827
mov ecx, dword [ebp - 0x174]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41381d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
cmp edx, 0x10
jb 0x41387c
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413872
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
cmp edx, 0x10
jb 0x4138d1
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4138c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
cmp edx, 0x10
jb 0x413926
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41391c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
cmp edx, 0x10
jb 0x41397b
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413971
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
cmp edx, 0x10
jb 0x4139cc
mov ecx, dword [ebp - 0x1ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4139c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413a1a
push edx
push ecx
call fcn.00429d36
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004296c0
mov esp, ebp
pop ebp
ret
call fcn.004026a0
call fcn.004026a0
call fcn.004026a0
call fcn.004026a0
call fcn.004026a0
call fcn.004026a0
call fcn.004026a0
call fcn.0042ed29
call fcn.004026a0
call fcn.0042ed29
call fcn.0042ed29
int3