Function at 0x416998
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
xor ebx, ebx
cmp byte [eax], 0x22
push edi
jne 0x4169d6
inc eax
push eax
call fcn.0042f33d
cmp eax, ebx
pop ecx
mov dword [0x44eee0], eax
je 0x4169e2
push eax
call esi
mov ecx, eax
mov eax, dword [0x44eee0]
lea ecx, [eax + ecx - 1]
cmp byte [ecx], 0x22
jne 0x4169e2
mov byte [ecx], bl
jmp 0x4169e2
push eax
call fcn.0042f33d
pop ecx
mov dword [0x44eee0], eax
push eax
call esi
cmp eax, 4
jle 0x416bb3
mov ecx, dword [0x44eee0]
push 0x443580
lea eax, [ecx + eax - 4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x416bb3
mov eax, dword [0x44eee0]
cmp byte [eax], 0x2a
mov dword [0x44eed4], eax
jne 0x416a86
push eax
call esi
mov ecx, dword [0x44eed4]
mov dword [ebp - 4], eax
add eax, 0xfffffffe
push eax
push ecx
call fcn.00424e83
pop ecx
pop ecx
mov ecx, dword [0x44eed4]
test eax, eax
mov eax, dword [ebp - 4]
jne 0x416a47
cmp byte [ecx + eax - 1], 0x5c
je 0x416a51
cmp byte [ecx + eax - 1], 0x2a
je 0x416a51
dec eax
jmp 0x416a24
add ecx, eax
push ecx
call fcn.0042f33d
pop ecx
push eax
mov dword [0x44eee0], eax
call esi
cmp eax, 2
mov dword [ebp - 4], eax
jbe 0x416bb9
mov ecx, dword [0x44eee0]
mov byte [ecx + eax - 2], 0x73
mov eax, dword [ebp - 4]
mov byte [ecx + eax - 1], 0x63
jmp 0x416bb9
push ebx
push 0x8000080
push 3
push ebx
push 1
push connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 0xc], esi
jne 0x416abd
call fcn.0041d387
push 0x10
push 0x43cb90
push 0x43cc70
jmp 0x416ba3
push 0x1a
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
jne 0x416ae8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0041d387
push 0x10
push 0x43cb90
push 0x43cb60
jmp 0x416ba3
push ebx
lea eax, [ebp - 4]
push eax
push 0x19
push edi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
call esi
cmp eax, ebx
je 0x416b02
cmp dword [ebp - 4], ebx
jne 0x416b04
mov byte [edi], bl
push str.R_Script_DSF_ver.1.00__r_n
push edi
mov byte [edi + 0x18], bl
mov byte [edi + 0x15], 0x2d
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x416b32
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x10
push 0x43cb90
push 0x43cb08
jmp 0x416ba3
push edi
call fcn.004262e0
pop ecx
push ebx
lea eax, [ebp - 4]
push eax
push 4
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
call esi
cmp eax, ebx
je 0x416b52
cmp dword [ebp - 4], ebx
jne 0x416b59
mov dword [ebp - 8], 1
push dword [ebp - 8]
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x416b97
push ebx
lea eax, [ebp - 4]
push eax
push dword [ebp - 8]
push edi
push dword [ebp - 0xc]
call esi
cmp eax, ebx
je 0x416b7f
cmp dword [ebp - 4], ebx
jne 0x416b86
mov dword [ebp - 8], 1
push dword [ebp - 0xc]
mov dword [0x44eee0], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x416bb9
push 0x10
push 0x43cb90
push 0x43ca10
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x416c96
mov dword [0x44eed4], ebx
mov eax, dword [0x44eee0]
push ebx
push eax
push str.ITEM
push eax
call fcn.00411b61
push eax
call fcn.0042f33d
push ebx
push str.none
push str.HELP
push dword [0x44eee0]
mov dword [0x44eedc], eax
call fcn.00411b61
push eax
call fcn.0042f33d
push ebx
push 0x43d080
push str.CONTEXTID
push dword [0x44eee0]
mov dword [0x44eed8], eax
call fcn.00411b61
push eax
call fcn.00425819
add esp, 0x3c
push ebx
push 0x416d30
push dword [ebp + 8]
mov dword [0x44eed0], eax
push 0x91
push dword [0x44eef4]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov esi, eax
mov eax, dword [0x44eedc]
cmp eax, ebx
je 0x416c4d
push eax
call fcn.004262e0
pop ecx
mov dword [0x44eedc], ebx
mov eax, dword [0x44eed8]
cmp eax, ebx
je 0x416c63
push eax
call fcn.004262e0
pop ecx
mov dword [0x44eed8], ebx
mov eax, dword [0x44eee0]
cmp eax, ebx
je 0x416c79
push eax
call fcn.004262e0
pop ecx
mov dword [0x44eee0], ebx
mov eax, dword [0x44eed4]
cmp eax, ebx
je 0x416c8f
push eax
call fcn.004262e0
pop ecx
mov dword [0x44eed4], ebx
xor eax, eax
cmp esi, ebx
setne al
pop edi
pop esi
pop ebx
leave
ret