Function at 0x6041c130
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 8], esi
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 4], edi
mov eax, edx
shr eax, 4
mov dword [ebp - 0xc], ebx
and eax, 1
mov edi, eax
cmp byte [esi], 0x5f
je 0x6041c1d2
test eax, eax
je 0x6041c19e
shr edx, 3
and edx, 1
mov dword [0x6041f370], edx
mov dword [esp], 0
call sym.exchndl.dll_dyn_string_new
test edi, edi
mov ebx, eax
jne 0x6041c1c4
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.6041bfc0
test eax, eax
je 0x6041c1b0
cmp eax, dword [0x60417834]
je 0x6041c1e3
mov dword [esp], ebx
call sym.exchndl.dll_dyn_string_delete
mov ebx, dword [ebp - 0xc]
xor eax, eax
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov dword [ebp + 8], ebx
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
jmp sym.exchndl.dll_dyn_string_release
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.6041c080
jmp 0x6041c18a
cmp byte [esi + 1], 0x5a
jne 0x6041c154
xor edi, edi
jmp 0x6041c158
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 1
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp], 0x6041c111
call sub.msvcrt.dll_fwrite
call sub.msvcrt.dll_abort
dec edx
inc ecx
jb 0x6041c286
popal
jns 0x6041c253
add byte [eax + 0x26b48d], dl
add byte [eax], al
add byte [ebp - 0x77], dl
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov dword [esp], 0
mov dword [ebp - 0x1c], 0
call sym.exchndl.dll_dyn_string_new
mov dword [ebp - 0x10], eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], 4
mov dword [esp], eax
call fcn.6041bfc0
test eax, eax
je 0x6041c27b
std
invalid
cmp eax, dword [0x60417834]
je 0x6041c3c5
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_delete
xor eax, eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_release
mov dword [ebp - 0x20], eax
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x10], 0
mov eax, ebx
add eax, edx
mov dword [ebp - 0x14], eax
nop
lea esi, [esi]
cmp ebx, dword [ebp - 0x14]
jae 0x6041c39d
mov dword [esp + 4], 0x6041c210
xor edi, edi
mov dword [esp], ebx
call sub.msvcrt.dll_strstr
mov esi, eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jle 0x6041c2e6
mov dword [esp + 4], 0x3e
mov dword [esp], ebx
call sub.msvcrt.dll_strchr
mov edi, eax
test esi, esi
je 0x6041c330
test edi, edi
je 0x6041c2f2
cmp edi, esi
jbe 0x6041c330
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x6041c319
cmp esi, ebx
ja 0x6041c305
lea ebx, [esi + 7]
jmp 0x6041c2b0
mov byte [esi], 0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_append_cstr
jmp 0x6041c300
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_new
mov dword [ebp - 0x10], eax
jmp 0x6041c2fc
test edi, edi
je 0x6041c37b
dec dword [ebp - 0x1c]
cmp edi, ebx
jbe 0x6041c360
cmp byte [ebx], 0x20
je 0x6041c360
mov byte [edi], 0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_append_cstr
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 4], 0x60418a35
mov eax, dword [ebp - 0x10]
lea ebx, [edi + 1]
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_append_cstr
jmp 0x6041c2b0
mov eax, dword [ebp - 0x20]
cmp ebx, eax
je 0x6041c273
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_append_cstr
mov ebx, dword [ebp - 0x14]
jmp 0x6041c2b0
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [ebp - 0x10]
xor eax, eax
test edx, edx
je 0x6041c273
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.exchndl.dll_dyn_string_release
jmp 0x6041c273
mov dword [esp + 8], 0x1a
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x6041c111
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
call sub.msvcrt.dll_abort
pop edi
pop edx
add byte [0x8d000a73], ah
mov ah, 0x26
add byte [eax], al
add byte [eax], al