Function at 0x412e60
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449e0b
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.00423030
lea ecx, [ebp - 0x1ec]
call fcn.004061f0
mov ecx, esp
mov dword [ebp - 4], 0
push 0x465d8c
call fcn.00423030
lea ecx, [ebp - 0x1a4]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 1
push 0x466524
call fcn.00423030
lea ecx, [ebp - 0x1d4]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 2
push 0x466584
call fcn.00423030
lea ecx, [ebp - 0x18c]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 3
push 0x465fcc
call fcn.00423030
lea ecx, [ebp - 0x1bc]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 4
push 0x465d14
call fcn.00423030
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 0x412f80
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00423f40
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
push 0x4661ac
call fcn.00423030
lea ecx, [ebp - 0x15c]
call fcn.004061f0
mov ecx, esp
mov byte [ebp - 4], 7
push 0x466404
call fcn.00423030
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 0x413878
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.00425610
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 0x413878
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.00425610
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 0x413878
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.00425610
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 0x41387d
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.00425610
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1ec]
mov ecx, esp
push eax
call fcn.00423030
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 0x413878
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.00425610
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 0x413882
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.00425610
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 0x413887
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.00425610
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00423030
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 0x413878
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.00425610
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 0x41388c
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.00425610
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 0x413891
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.00425610
sub esp, 0x18
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x1bc]
mov ecx, esp
push eax
call fcn.00423030
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 0x413896
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.00425610
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
push 0x45cc8c
cmovae eax, dword [ebp - 0x214]
push eax
call fcn.0042ded0
add esp, 8
test eax, eax
je 0x4134ab
push eax
call fcn.0042e4b9
add esp, 4
mov bl, 1
jmp 0x4134ad
xor bl, bl
mov edx, dword [ebp - 0x200]
cmp edx, 0x10
jb 0x4134e7
mov ecx, dword [ebp - 0x214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4134dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41389b
push edx
push ecx
call fcn.00429d26
add esp, 8
test bl, bl
je 0x413599
mov edi, dword [ebp - 0x11c]
sub esi, edi
mov edx, dword [0x466054]
cmp esi, edx
jb 0x4138a0
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.00425610
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
cmovae eax, dword [ebp - 0x214]
push eax
call fcn.0042e6c3
mov edx, dword [ebp - 0x200]
add esp, 4
cmp edx, 0x10
jb 0x413599
mov ecx, dword [ebp - 0x214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41358f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138a5
push edx
push ecx
call fcn.00429d26
add esp, 8
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x4135d3
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4135c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x413628
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41361e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x41367d
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413673
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
add esp, 8
mov edx, dword [ebp - 0x160]
cmp edx, 0x10
jb 0x4136b7
mov ecx, dword [ebp - 0x174]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4136ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x41370c
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413702
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x413761
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413757
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x4137b6
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4137ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x41380b
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413801
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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 0x41385c
mov ecx, dword [ebp - 0x1ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138aa
push edx
push ecx
call fcn.00429d26
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.004296b0
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.0042ea38
call fcn.004026a0
call fcn.0042ea38
call fcn.0042ea38
int3