Function at 0x412d90
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449eeb
mov eax, dword fs:[0]
push eax
sub esp, 0x208
mov eax, dword [0x465124]
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 0x46644c
call fcn.00423120
lea ecx, [ebp - 0x1ec]
call fcn.004061f0
mov ecx, esp
mov dword [ebp - 4], 0
push 0x465d8c
call fcn.00423120
lea ecx, [ebp - 0x1a4]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 1
push 0x466524
call fcn.00423120
lea ecx, [ebp - 0x1d4]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 2
push 0x466584
call fcn.00423120
lea ecx, [ebp - 0x18c]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 3
push 0x465fcc
call fcn.00423120
lea ecx, [ebp - 0x1bc]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 4
push 0x465d14
call fcn.00423120
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 0x412eb0
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00424030
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
push 0x4661ac
call fcn.00423120
lea ecx, [ebp - 0x15c]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 7
push 0x466404
call fcn.00423120
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 [0x466054]
sub eax, ebx
cmp eax, edi
jb 0x4137a8
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x466044
cmp dword [0x466058], 0x10
cmovae eax, dword [0x466044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1f0]
mov ecx, edx
call fcn.00425700
call fcn.00406d90
mov edx, esp
mov dword [ebp - 0x1f0], esp
mov dword [ebp - 0x1f8], edx
mov eax, esi
mov edi, dword [0x466054]
sub eax, edi
mov ebx, dword [ebp - 0x134]
cmp eax, ebx
jb 0x4137a8
cmp dword [0x466058], 0x10
lea eax, [ebp - 0x144]
mov ecx, 0x466044
cmovae ecx, dword [0x466044]
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.00425700
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 [0x466054]
cmp eax, edi
jb 0x4137a8
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x466044
cmp dword [0x466058], 0x10
cmovae eax, dword [0x466044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1fc]
mov ecx, edx
call fcn.00425700
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 0x4137ad
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.00425700
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1ec]
mov ecx, esp
push eax
call fcn.00423120
mov byte [ebp - 4], 8
call fcn.0040f6b0
add esp, 0x48
mov eax, esi
mov edx, esp
mov dword [ebp - 0x1f4], esp
mov dword [ebp - 0x1fc], edx
mov edi, dword [0x466054]
sub eax, edi
mov ebx, dword [ebp - 0x134]
cmp eax, ebx
jb 0x4137a8
cmp dword [0x466058], 0x10
lea eax, [ebp - 0x144]
mov ecx, 0x466044
cmovae ecx, dword [0x466044]
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.00425700
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 [0x466054]
cmp eax, edi
jb 0x4137b2
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x466044
cmp dword [0x466058], 0x10
cmovae eax, dword [0x466044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425700
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 0x4137b7
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.00425700
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00423120
mov byte [ebp - 4], 8
call fcn.0040f6b0
add esp, 0x48
mov eax, esi
mov edx, esp
mov dword [ebp - 0x1f4], esp
mov dword [ebp - 0x1fc], edx
mov edi, dword [0x466054]
sub eax, edi
mov ebx, dword [ebp - 0x134]
cmp eax, ebx
jb 0x4137a8
cmp dword [0x466058], 0x10
lea eax, [ebp - 0x144]
mov ecx, 0x466044
cmovae ecx, dword [0x466044]
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.00425700
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 [0x466054]
cmp eax, edi
jb 0x4137bc
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edi
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x466044
cmp dword [0x466058], 0x10
cmovae eax, dword [0x466044]
push eax
push ebx
push ecx
push ecx
push dword [ebp - 0x1f4]
mov ecx, edx
call fcn.00425700
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 0x4137c1
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.00425700
sub esp, 0x18
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x1bc]
mov ecx, esp
push eax
call fcn.00423120
mov byte [ebp - 4], 8
call fcn.0040f6b0
mov edi, dword [ebp - 0x11c]
mov eax, esi
mov edx, dword [0x466054]
sub eax, edi
add esp, 0x60
cmp eax, edx
jb 0x4137c6
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edx
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x466044
cmp dword [0x466058], 0x10
cmovae eax, dword [0x466044]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
lea ecx, [ebp - 0x214]
call fcn.00425700
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
push 0x45cbe4
cmovae eax, dword [ebp - 0x214]
push eax
call fcn.0042dfc0
add esp, 8
test eax, eax
je 0x4133db
push eax
call fcn.0042e5a6
add esp, 4
mov bl, 1
jmp 0x4133dd
xor bl, bl
mov edx, dword [ebp - 0x200]
cmp edx, 0x10
jb 0x413417
mov ecx, dword [ebp - 0x214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41340d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137cb
push edx
push ecx
call fcn.00429e16
add esp, 8
test bl, bl
je 0x4134c9
mov edi, dword [ebp - 0x11c]
sub esi, edi
mov edx, dword [0x466054]
cmp esi, edx
jb 0x4137d0
cmp dword [ebp - 0x118], 0x10
lea ecx, [ebp - 0x12c]
push edx
cmovae ecx, dword [ebp - 0x12c]
mov eax, 0x466044
cmp dword [0x466058], 0x10
cmovae eax, dword [0x466044]
push eax
push edi
push ecx
push ecx
push dword [ebp - 0x1f4]
lea ecx, [ebp - 0x214]
call fcn.00425700
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
cmovae eax, dword [ebp - 0x214]
push eax
call fcn.0042e7b0
mov edx, dword [ebp - 0x200]
add esp, 4
cmp edx, 0x10
jb 0x4134c9
mov ecx, dword [ebp - 0x214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4134bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137d5
push edx
push ecx
call fcn.00429e16
add esp, 8
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x413503
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4134f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x413558
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41354e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x4135ad
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4135a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
add esp, 8
mov edx, dword [ebp - 0x160]
cmp edx, 0x10
jb 0x4135e7
mov ecx, dword [ebp - 0x174]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4135dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x41363c
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413632
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x413691
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413687
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x4136e6
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4136dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x41373b
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413731
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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 0x41378c
mov ecx, dword [ebp - 0x1ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413782
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4137da
push edx
push ecx
call fcn.00429e16
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.004297a0
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.0042eb25
call fcn.004026a0
call fcn.0042eb25
call fcn.0042eb25
int3