Function at 0x428910
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bdc6a
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x634274]
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
mov dword [ebp - 0x2c], ecx
call fcn.004607e6
test al, al
je 0x428957
cmp al, byte [esi]
pop eax
cld
xchg ebp, eax
invalid
mov eax, dword [0x63fa20]
test eax, eax
jne 0x428992
push 0x158
call fcn.00455626
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x428984
mov ecx, eax
call fcn.00450f00
jmp 0x428986
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x63fa20], eax
mov ecx, eax
call fcn.004617b1
mov edx, eax
mov dword [ebp - 0x14], 7
xor eax, eax
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
cmp word [edx], ax
jne 0x4289b8
xor ecx, ecx
jmp 0x4289cf
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4289c0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00402510
push 0xc
push str.SWConfig.exe
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
call fcn.00404190
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x428c2c
call fcn.00460534
test al, al
je 0x428a25
push es
or ah, byte [ebp - 0x3a3a0cc4]
mov eax, 0x65cb6080
cld
into
scasb al, byte es:[edi]
dec ecx
ljmp 8
cmp dword [ebp + 8], 0
je 0x428be1
call fcn.0046030c
test al, al
je 0x428a55
out 0x7b, eax
popal
sub ah, byte [edi - 9]
pushal
jns 0x428a3e
outsd dx, dword [esi]
arpl word [0x6b1a05bf], ax
in eax, 0x97
les eax, [esi + 0x49b0b24d]
ficom word [eax - 0x7c2f96ac]
jge 0x428a64
cmp dword [ebp + 0xc], 0
jne 0x428af6
add byte [edi], cl
test dword [edi - 0x18000000], edx
outsb dx, byte [esi]
jl 0x428a66
call fcn.004606d2
add byte [eax + eax*8 + 0x6ab01e74], al
test al, al
je 0x428a86
mov al, 0x6a
jo 0x428ab3
or bl, bl
jbe 0x428aaf
les esp, [ebp + 0x74]
or eax, 0x365560cd
js 0x428a58
bound ebx, qword [eax + 0x49]
sub ecx, dword [ebx - 0x34]
add al, byte [eax]
jne 0x428a9b
and cl, byte [edi - 0x18]
jecxz 0x428aff
call fcn.0046016e
add eax, dword [eax]
test al, al
je 0x428aa5
xchg dword [edi + 0x55], eax
rcr byte fs:[ebx + ecx + 0x1dd65480], 1
invalid
sti
int 0xb2
pop esi
add dword [ebx], ebp
sahf
or eax, 0x5d8b1b10
aam 0x8b
retf
mov ebx, dword [ebp - 0x2c]
mov ecx, ebx
call fcn.00428ff0
test eax, eax
je 0x428b00
call fcn.004607e6
test al, al
je 0x428ad8
jne 0x428ae6
pop ebp
int 0xbb
cmp eax, esp
xchg ebp, eax
inc edi
in eax, dx
add al, 0x1f
scasd eax, dword es:[edi]
mov al, ah
js 0x428ac8
inc esi
invalid
call fcn.0046009f
test al, al
je 0x428af9
mov dh, 0xb5
sbb ah, bh
cmp edi, dword [edi]
fmul dword [ecx]
dec edx
mov esi, 0x34bb16fc
cwde
xor al, 0x98
xchg ebp, eax
cmp eax, 0x8b4f081b
pop ebp
aam 0x8b
retf
mov ebx, dword [ebp - 0x2c]
mov ecx, ebx
call fcn.004281c0
inc dword [ebx + 0x7400107d]
jb 0x428aef
cmp dword [ebp + 0x10], 0
je 0x428b78
call fcn.00460396
test al, al
je 0x428b27
mov edi, dword [eax + 3]
add byte [eax + eax*8 - 0x4055e78c], al
cmp dword [eax + 0x49bdace5], 0xffffffb8
invalid
stosb byte es:[edi], al
mov edi, 0xace5b883
mov ebp, 0xf38eb849
pop ss
push ss
shr dword [0x9660b613], 0x4c
das
adc ecx, eax
int 0xe8
invalid
call fcn.0046082b
test al, al
je 0x428b4d
inc ecx
invalid
jle 0x428b5a
sti
sub byte [ecx + esi*4 + 0x77248ba], ch
and ebp, dword [edx]
enter 0x5a29, 0x52
sub dword [edx + 0x52], ebx
invalid
call fcn.004601b3
test al, al
je 0x428c24
dec esp
dec ecx
arpl word [ebx], cx
sti
add dl, byte [ecx]
loopne 0x428ba8
jo 0x428b45
aaa
add byte [esi], cl
mov bl, 0x34
enter 0xfffffffffffff47c, 0xffffffffffffffcf
sub byte [esi], 0x6f
jo 0x428b37
jmp 0x428c24
mov ecx, ebx
call int.00428c60
test eax, eax
je 0x428c2c
call fcn.0046075c
test al, al
je 0x428baa
shl byte [ebp - 0x10], 1
std
out dx, al
ficomp dword [esi + 1]
int3
ret
call fcn.00460129
test al, al
je 0x428bc4
je 0x428c09
salc
mov ebp, 0xfe82aca7
push 0x933748b9
xor cl, bl
cli
xchg eax, ebp
salc
call fcn.0046009f
test al, al
je 0x428bcb
add byte [eax + eax*8 + 0x7e1f5774], al
idiv byte [esi + 0xeac74d]
je 0x428c24
pop ds
jle 0x428bc6
mov esi, 0xeac74d
adc dword [ebp + 0x7d0fe66b], ebx
mov esp, 0xeb4093d5
inc ebx
call fcn.0046068d
test al, al
je 0x428bfa
dec esp
xchg byte [edx], dl
mov byte [0x6c8e4bed], al
adc dword [edi + 0x7a], esp
movsd dword es:[edi], dword [esi]
in al, 0x4e
sahf
call fcn.004603db
test al, al
je 0x428c1c
aam 0xf4
test dword [ecx - 0x47], edi
mov dh, 0xb4
mov cl, bl
or esp, dword [ebp + 0x36f35be]
invalid
mov ah, 0x8a
retf
mov ecx, dword [ebp - 0x2c]
call fcn.004281c0
mov ecx, dword [ebp - 0x2c]
call fcn.00427310
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x428c41
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402610
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.00455afe
mov esp, ebp
pop ebp
ret 0xc