Function at 0x418881
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x10], 0xd3455974
mov ebx, dword [ebp - 0x34]
xor esi, esi
mov edi, 0xffffe000
mov eax, dword [ebp - 0x10]
cmp eax, 0xf76d8a20
jg 0x4188fe
cmp eax, 0xce8f1e7a
jg 0x41894c
cmp eax, 0x9e373214
jle 0x4189cd
cmp eax, 0xc306e8fe
jg 0x418a9f
cmp eax, 0x9e373215
je 0x418b22
cmp eax, 0xa8f76dc7
jne 0x41889b
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x10], 0x8db9f31a
jmp 0x41889b
cmp eax, 0x20de22a7
jle 0x418984
cmp eax, 0x401cbff8
jle 0x418a09
cmp eax, 0x6a321756
jg 0x418ad2
cmp eax, 0x401cbff9
je 0x418b3a
cmp eax, 0x4b43c255
jne 0x41889b
imul eax, dword [ebp - 0x14], 0x2f8
add eax, 0xf4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xd4ae3d9d
jmp 0x41889b
cmp eax, 0xd4ae3d9c
jle 0x418a36
cmp eax, 0xe1fbda46
jle 0x418afe
cmp eax, 0xe1fbda47
je 0x418b76
cmp eax, 0xf66a3a0b
jne 0x41889b
mov dword [ebp - 0x10], 0xf811430d
jmp 0x41889b
cmp eax, 0xfb8076a3
jg 0x418a6f
cmp eax, 0xf76d8a21
je 0x418b82
cmp eax, 0xf811430d
je 0x418b97
cmp eax, 0xfb4b333a
jne 0x41889b
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*8]
shl eax, 0x16
add eax, 0x31800000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x9a800166
jmp 0x41889b
cmp eax, 0x8db9f31a
je 0x418ba3
cmp eax, 0x9a800166
je 0x418be0
cmp eax, 0x9c1351a6
jne 0x41889b
imul eax, dword [ebp - 0x14], 0x1300
or eax, 0x99
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x3ab05a9a
jmp 0x41889b
cmp eax, 0x20de22a8
je 0x418bec
cmp eax, 0x3ab05a9a
je 0x418bf8
cmp eax, 0x3e390d85
jne 0x41889b
mov dword [ebp - 0x10], 0xc8c246fb
jmp 0x41889b
cmp eax, 0xce8f1e7b
je 0x418c1f
cmp eax, 0xd0c2f7c5
je 0x418c2b
cmp eax, 0xd3455974
jne 0x41889b
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xf66a3a0b
jmp 0x41889b
cmp eax, 0xfb8076a4
je 0x418c69
cmp eax, 0x5508551
je 0x418c7f
cmp eax, 0x1c38c35f
jne 0x41889b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0xc306e8ff
jmp 0x41889b
cmp eax, 0xc306e8ff
je 0x418c8e
cmp eax, 0xc8c246fb
jne 0x41889b
cmp dword [ebp - 0x30], 0
mov eax, 0x5508551
jg 0x418ac5
mov eax, 0xfb4b333a
cmp byte [ebp - 0x16], 0
jne 0x418b32
mov eax, 0xfb4b333a
jmp 0x418b32
cmp eax, 0x6a321757
je 0x418ca5
cmp eax, 0x71034d87
jne 0x41889b
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x401cbff9
jmp 0x41889b
cmp eax, 0xdd3fcad2
jne 0x418ccb
mov eax, dword [ebp - 0x14]
and eax, edi
add eax, 0xfffffe59
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x3e390d85
jmp 0x41889b
cmp dword [ebp - 0x24], 0
mov eax, 0x4b43c255
je 0x418b32
mov eax, 0xc306e8ff
mov dword [ebp - 0x10], eax
jmp 0x41889b
mov eax, dword [ebp - 0x14]
shr eax, 7
imul eax, eax, 0xa9
shr eax, 3
lea ecx, [eax + 0xd4]
imul eax, eax
imul edx, eax, 0x306b
dec edx
shr ecx, 8
lea ecx, [ecx*4 - 0xa3]
mov dword [ebp - 0x14], ecx
mov ecx, 0xd3455974
cmp edx, eax
je 0x418bd8
mov ecx, 0xe1fbda47
jmp 0x418bd8
mov dword [ebp - 0x10], 0xd0c2f7c5
jmp 0x41889b
mov eax, dword [ebp - 0x20]
mov dword [eax], 0
mov dword [ebp - 0x10], 0xce8f1e7b
jmp 0x41889b
mov dword [ebp - 0x10], 0x71034d87
jmp 0x41889b
mov ecx, dword [ebp - 0x14]
imul eax, ecx, 0xe9
add eax, 0x8055
imul eax, eax
imul edx, eax, 0x6873
dec edx
imul ecx, ecx, 0x320f
add ecx, 0x1ba88a
mov dword [ebp - 0x14], ecx
mov ecx, 0x6a321757
cmp edx, eax
je 0x418bd8
mov ecx, 0x1c38c35f
mov dword [ebp - 0x10], ecx
jmp 0x41889b
mov dword [ebp - 0x10], 0x9e373215
jmp 0x41889b
mov dword [ebp - 0x10], 0xf76d8a21
jmp 0x41889b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
and al, byte [ebp - 0x15]
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xdd3fcad2
jmp 0x41889b
mov dword [ebp - 0x10], 0xa8f76dc7
jmp 0x41889b
mov eax, dword [ebp - 0x1c]
mov dword [eax], esi
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call fcn.004175f9
add esp, 0xc
push esi
push 0x80
push 2
push esi
push esi
push 0x40000000
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xfb8076a4
jmp 0x41889b
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
setne byte [ebp - 0x15]
mov dword [ebp - 0x10], 0x9c1351a6
jmp 0x41889b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x20de22a8
jmp 0x41889b
push dword [ebp - 0x24]
call fcn.0043e5b4
add esp, 4
mov dword [ebp - 0x10], 0xd4ae3d9d
jmp 0x41889b
shr ebx, 3
and ebx, 0x1ffff000
mov eax, ebx
shl eax, 6
lea ebx, [eax + ebx*2]
add ebx, 0xffffff24
shr ebx, 9
mov dword [ebp - 0x10], 0x3ab05a9a
jmp 0x41889b
cmp eax, 0xd4ae3d9d
jne 0x41889b
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret