Function at 0x404530
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4269f8
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x4310b0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
call fcn.00406a70
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x24]
je 0x4048af
jmp 0x404520
cmp edi, 6
ja case.default.0x404529
jmp dword [edi*4 + 0x404a40]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx]
mov ecx, str._ipcname
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404566
test dx, dx
je 0x404562
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404566
add eax, 4
add ecx, 4
test dx, dx
jne 0x404540
xor eax, eax
jmp 0x40456b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404577
lea edi, [eax + 1]
jmp 0x404818
mov ecx, str._dumppath
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4045a6
test dx, dx
je 0x4045a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4045a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x404580
xor eax, eax
jmp 0x4045ab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4045b7
lea edi, [eax + 2]
jmp 0x404818
mov ecx, str._info
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4045e6
test dx, dx
je 0x4045e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4045e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4045c0
xor eax, eax
jmp 0x4045eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4045f7
lea edi, [eax + 3]
jmp 0x404818
mov ecx, str._submiturl
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404626
test dx, dx
je 0x404622
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404626
add eax, 4
add ecx, 4
test dx, dx
jne 0x404600
xor eax, eax
jmp 0x40462b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404637
lea edi, [eax + 4]
jmp 0x404818
mov ecx, str._upfiles
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404666
test dx, dx
je 0x404662
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404666
add eax, 4
add ecx, 4
test dx, dx
jne 0x404640
xor eax, eax
jmp 0x40466b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404677
lea edi, [eax + 5]
jmp 0x404818
mov ecx, str._maxreports
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4046a6
test dx, dx
je 0x4046a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4046a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x404680
xor eax, eax
jmp 0x4046ab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4046b7
lea edi, [eax + 6]
jmp 0x404818
mov ecx, str._singleton
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4046e6
test dx, dx
je 0x4046e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4046e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4046c0
xor eax, eax
jmp 0x4046eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4046f8
mov byte [ebx + 6], 1
jmp 0x404818
mov ecx, str._noui
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404726
test dx, dx
je 0x404722
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404726
add eax, 4
add ecx, 4
test dx, dx
jne 0x404700
xor eax, eax
jmp 0x40472b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404818
mov byte [ebx + 4], 1
jmp 0x404818
mov edx, dword [ebp - 0x14]
mov edi, dword [edx]
lea ecx, [ebx + 0x34]
call fcn.00404460
test al, al
je 0x404957
xor edi, edi
jmp 0x404818
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404762
sub eax, esi
sar eax, 1
push eax
lea ecx, [ebx + 0x50]
push edx
call fcn.00401f00
xor edi, edi
jmp 0x404818
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
mov eax, edx
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404790
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebx + 0x6c]
call fcn.00401f00
xor edi, edi
jmp 0x404818
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
mov eax, edx
lea esi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4047c0
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebx + 0x18]
call fcn.00401f00
xor edi, edi
jmp 0x404818
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4047e7
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebx + 0x88]
call fcn.00401f00
xor edi, edi
jmp 0x404818
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
push edx
call fcn.0040ee03
add esp, 4
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x24]
jne 0x404520
test edi, edi
je 0x4048ac
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 0x42e704
test eax, eax
je 0x404849
push eax
call fcn.0040ee83
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x404896
push eax
call fcn.0040ed11
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 0x42e704
test eax, eax
je 0x404886
push eax
call fcn.0040ee83
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x404896
push eax
call fcn.0040ed11
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
cmp dword [edx + 0x44], 0
sete cl
cmp dword [edx + 0x7c], 0
sete bl
mov dl, bl
or dl, cl
jne 0x404903
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 0x42e704
test ecx, ecx
je 0x4048e0
push ecx
call fcn.0040ee83
mov eax, dword [ebp - 0x28]
add esp, 4
test eax, eax
je 0x404896
push eax
call fcn.0040ed11
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dl, bl
xor dl, cl
jne 0x40494a
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 0x42e704
test ecx, ecx
je 0x404923
push ecx
call fcn.0040ee83
mov eax, dword [ebp - 0x28]
add esp, 4
test eax, eax
je 0x404896
push eax
call fcn.0040ed11
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp + 8]
cmp byte [edi + 6], 0
je 0x404975
test bl, bl
jne 0x404979
lea ecx, [ebp - 0x2c]
call fcn.00406b90
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test bl, bl
je 0x4049c2
cmp dword [edi + 0x60], 0
je 0x4049eb
cmp dword [edi + 0x64], 8
jb 0x40498a
mov eax, dword [edi + 0x50]
jmp 0x40498d
lea eax, [edi + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x4049eb
lea ecx, [edi + 0x50]
call fcn.00407b50
test al, al
jne 0x4049eb
lea ecx, [ebp - 0x2c]
call fcn.00406b90
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x60], 0
je 0x404957
cmp dword [edi + 0x64], 8
lea eax, [edi + 0x50]
jb 0x4049d3
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x404957
test al, 0x10
jne 0x404957
push str..pipe_
lea ecx, [edi + 0x34]
mov eax, 9
call fcn.00404a60
mov eax, dword [ebp - 0x18]
mov byte [edi + 7], bl
mov dword [ebp - 0x2c], 0x42e704
test eax, eax
je 0x404a17
push eax
call fcn.0040ee83
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x404a27
push eax
call fcn.0040ed11
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4