Function at 0x41e160
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x44bb64]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov esi, 0x441908
mov ebx, ecx
mov dword [ebp - 0x94], eax
call fcn.0041e0f0
push edi
mov esi, ebx
call fcn.0041e0f0
mov ebx, dword [ebp + 8]
mov eax, ebx
add esp, 8
dec eax
je 0x41e1df
sub eax, 2
je 0x41e1cf
dec eax
je 0x41e1bf
push ebx
push str._hex__x_:
lea ecx, [ebp - 0x84]
push 0x40
push ecx
call fcn.00425e24
add esp, 0x10
jmp 0x41e1f5
push 0x40
push str._dword:
lea edx, [ebp - 0x84]
push edx
jmp 0x41e1ed
push 0x40
push str._hex:
lea eax, [ebp - 0x84]
push eax
jmp 0x41e1ed
push 0x40
push 0x4418c4
lea ecx, [ebp - 0x84]
push ecx
call fcn.0042576d
add esp, 0xc
push edi
lea esi, [ebp - 0x84]
call fcn.0041e0f0
add esp, 4
cmp ebx, 1
je 0x41e2d1
cmp ebx, 2
je 0x41e2d1
cmp ebx, 4
jne 0x41e25d
mov ebx, dword [ebp + 0x10]
dec ebx
js 0x41e466
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + ebx]
push eax
push 0x4418b8
lea ecx, [ebp - 0x84]
push 0x80
push ecx
call fcn.00425e24
push edi
lea esi, [ebp - 0x84]
call fcn.0041e0f0
add esp, 0x14
dec ebx
jns 0x41e225
jmp 0x41e466
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
jbe 0x41e466
jmp 0x41e270
mov eax, 0x4418b4
test ebx, ebx
jne 0x41e27e
mov eax, 0x43c7e8
mov edx, dword [ebp - 0x94]
movzx ecx, byte [edx + ebx]
push ecx
push eax
push str._s_02x
lea edx, [ebp - 0x84]
push 0x80
push edx
call fcn.00425e24
push edi
lea esi, [ebp - 0x84]
call fcn.0041e0f0
add esp, 0x18
test ebx, ebx
je 0x41e2c6
test bl, 0xf
jne 0x41e2c6
push edi
mov esi, 0x44189c
call fcn.0041e0f0
add esp, 4
inc ebx
cmp ebx, dword [ebp + 0x10]
jb 0x41e270
jmp 0x41e466
mov eax, dword [ebp + 0x10]
dec eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], eax
test eax, eax
jle 0x41e438
lea ecx, [ecx]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
lea esi, [eax + ecx]
mov al, byte [esi]
cmp al, 0x5c
je 0x41e309
cmp al, 0x22
jne 0x41e351
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea edx, [ebp - 0x8c]
push edx
push 1
push 0x440c4c
push edi
mov dword [ebp - 0x8c], 0
call ebx
test eax, eax
je 0x41e339
cmp dword [ebp - 0x8c], 1
je 0x41e357
push 0x44908c
lea edx, [ebp - 0x85]
push edx
mov byte [ebp - 0x85], 0
call fcn.004234fd
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
movzx ecx, byte [esi]
push ecx
call fcn.00425a16
add esp, 4
test eax, eax
je 0x41e399
push 0
lea edx, [ebp - 0x98]
push edx
push 1
push esi
push edi
call ebx
test eax, eax
je 0x41e387
cmp dword [ebp - 0x98], 1
je 0x41e41f
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004234ee
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi]
push eax
push str._02x
lea ecx, [ebp - 0x84]
push 0x80
push ecx
call fcn.00425e24
lea eax, [ebp - 0x84]
add esp, 0x10
mov dword [ebp - 0x8c], 0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41e3d0
sub eax, edx
push 0
lea edx, [ebp - 0x8c]
push edx
sar eax, 1
push eax
lea eax, [ebp - 0x84]
push eax
push edi
call ebx
test eax, eax
je 0x41e4ae
lea eax, [ebp - 0x84]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41e404
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x8c], eax
jne 0x41e4ae
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, dword [ebp - 0x9c]
jl 0x41e2f0
push 0
lea eax, [ebp - 0x8c]
push eax
push 1
push 0x441908
push edi
mov dword [ebp - 0x8c], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41e4c6
cmp dword [ebp - 0x8c], 1
jne 0x41e4c6
push 0
lea ecx, [ebp - 0x8c]
push ecx
push 2
push 0x44189c
push edi
mov dword [ebp - 0x8c], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41e339
cmp dword [ebp - 0x8c], 2
jne 0x41e339
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
mov al, 1
pop ebx
call fcn.004234ee
mov esp, ebp
pop ebp
ret
push 0x44908c
lea ecx, [ebp - 0x85]
push ecx
mov byte [ebp - 0x85], 0
call fcn.004234fd
push 0x44908c
lea eax, [ebp - 0x85]
push eax
mov byte [ebp - 0x85], 0
call fcn.004234fd
int3