Function at 0x42e855
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cb395
mov eax, dword fs:[0]
push eax
sub esp, 0x200
mov eax, dword [0x509590]
xor eax, esp
mov dword [esp + 0x1f8], eax
push ebx
push esi
push edi
mov eax, dword [0x509590]
xor eax, esp
push eax
lea eax, [esp + 0x210]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
mov cl, byte [eax]
test cl, cl
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], esi
je 0x42ecdf
xor ebx, ebx
cmp dword [esi + 0x14], ebx
je 0x42ecdf
lea edi, [eax + 0x20]
mov ecx, dword [edi]
cmp ecx, 0xffffffff
mov dword [esp + 0x14], edi
jne 0x42eadd
cmp dword [eax + 0x18], ebx
jne 0x42e95c
push 0x4e4d90
lea eax, [esp + 0x6c]
call fcn.004078c5
lea edi, [esp + 0x30]
mov dword [esp + 0x218], ebx
call fcn.0042067b
lea ecx, [esp + 0x4c]
push ecx
lea esi, [esp + 0x6c]
mov edi, eax
mov byte [esp + 0x21c], 1
call fcn.0042040d
pop ecx
mov byte [esp + 0x218], 2
cmp dword [eax + 0x18], 8
jb 0x42e91c
mov eax, dword [eax + 4]
jmp 0x42e91f
add eax, 4
mov esi, dword [esp + 0x10]
push eax
add esi, 4
call fcn.004078e7
push ebx
push 1
lea esi, [esp + 0x54]
call fcn.004075b1
push ebx
push 1
lea esi, [esp + 0x38]
call fcn.004075b1
or dword [esp + 0x218], 0xffffffff
push ebx
push 1
lea esi, [esp + 0x70]
call fcn.004075b1
mov eax, dword [esp + 0x10]
lea edi, [eax + 4]
lea eax, [esp + 0x1ec]
push edi
push eax
mov dword [esp + 0x24], edi
call fcn.0041ff80
pop ecx
pop ecx
mov dword [esp + 0x218], 3
cmp dword [esp + 0x200], ebx
je 0x42e9a5
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1f0]
call fcn.00450cbf
pop ecx
push ebx
push 1
lea esi, [esp + 0x38]
call fcn.004075b1
cmp dword [edi + 0x18], 8
jb 0x42e9b0
mov edi, dword [edi + 4]
jmp 0x42e9b3
add edi, 4
push ebx
push 0x80
push 4
push ebx
push 1
push 0x40000000
push edi
call dword [0x50ca88]
mov esi, dword [esp + 0x14]
mov edi, eax
call fcn.0042ed98
mov eax, esi
mov ecx, dword [eax]
mov eax, ecx
inc eax
neg eax
sbb eax, eax
and eax, dword [0x4e33f8]
cmp eax, ebx
jne 0x42eab3
lea eax, [esp + 0x84]
push eax
call fcn.00405267
push 0x4e231c
push ecx
push dword [esp + 0x24]
lea eax, [esp + 0x98]
push ecx
push str.Error_creating_or_opening__
push eax
mov byte [esp + 0x230], 4
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
pop ecx
pop ecx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x88]
call fcn.004052f9
mov byte [esp + 0x218], 5
cmp dword [eax + 0x18], 8
jb 0x42ea58
mov eax, dword [eax + 4]
jmp 0x42ea5b
add eax, 4
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00425a3b
push eax
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x228], 6
call fcn.004167e3
add esp, 0x10
mov byte [esp + 0x218], 7
cmp dword [eax + 0x18], 0x10
jb 0x42ea8f
mov eax, dword [eax + 4]
jmp 0x42ea92
add eax, 4
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.0048ec72
push 0x4f7698
lea eax, [esp + 0x28]
push eax
call fcn.0048febc
push 2
push ebx
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
or dword [esp + 0x218], 0xffffffff
push ebx
push 1
lea esi, [esp + 0x1f4]
call fcn.004075b1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x10c]
push eax
mov dword [esp + 0x24], ebx
call fcn.0041b171
lea eax, [esp + 0x4c]
push esi
push eax
mov dword [esp + 0x220], 8
call fcn.004167e3
pop ecx
pop ecx
mov esi, eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x218], 9
call fcn.0041a7b9
push 0x4e4df8
push ecx
push esi
push ecx
push 0x4e4dfc
push ecx
push eax
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x238], 0xa
call fcn.00425a5c
add esp, 0xc
push eax
call fcn.0041cd93
add esp, 0xc
push eax
call fcn.00425a5c
add esp, 0xc
push eax
call fcn.0041cd93
pop ecx
pop ecx
push ebx
push 1
lea ecx, [esp + 0x38]
call fcn.00406a2c
push ebx
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x220], 8
call fcn.00406a2c
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x110]
call fcn.0041b206
mov esi, eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x110]
mov byte [esp + 0x21c], 0xb
call fcn.0041b206
cmp dword [eax + 0x18], 0x10
mov esi, dword [esi + 0x14]
jb 0x42ebb4
mov eax, dword [eax + 4]
jmp 0x42ebb7
add eax, 4
mov ecx, dword [edi]
push ebx
lea edx, [esp + 0x24]
push edx
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ebx, eax
neg ebx
push 0
sbb bl, bl
push 1
lea ecx, [esp + 0x38]
inc bl
call fcn.00406a2c
push 0
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x220], 8
call fcn.00406a2c
test bl, bl
je 0x42eccb
lea eax, [esp + 0x84]
push eax
call fcn.00405267
push 0x4e231c
mov byte [esp + 0x21c], 0xc
mov eax, dword [esp + 0x14]
push ecx
add eax, 4
push eax
push ecx
lea eax, [esp + 0x9c]
push str.Error_writing_to__
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
pop ecx
pop ecx
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x88]
call fcn.004052f9
mov byte [esp + 0x218], 0xd
cmp dword [eax + 0x18], 8
jb 0x42ec6b
mov eax, dword [eax + 4]
jmp 0x42ec6e
add eax, 4
push eax
lea eax, [esp + 0x19c]
push eax
call fcn.00425a3b
push eax
lea eax, [esp + 0x1dc]
push eax
mov byte [esp + 0x228], 0xe
call fcn.004167e3
add esp, 0x10
mov byte [esp + 0x218], 0xf
cmp dword [eax + 0x18], 0x10
jb 0x42eca8
mov eax, dword [eax + 4]
jmp 0x42ecab
add eax, 4
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.0048ec72
push 0x4f7698
lea eax, [esp + 0x28]
jmp 0x42eaad
or dword [esp + 0x218], 0xffffffff
lea eax, [esp + 0x10c]
call fcn.0041a497
mov ecx, dword [esp + 0x210]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1f8]
xor ecx, esp
call fcn.0048e32a
mov esp, ebp
pop ebp
ret 4