Function at 0x4281b1
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0x4a95d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov dword [ebp - 0x664], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x65c], eax
xor eax, eax
xor esi, esi
push 0x206
mov word [ebp - 0x658], ax
lea eax, [ebp - 0x656]
push esi
push eax
mov dword [ebp - 0x660], esi
call fcn.0045d10c
push 0x244
lea eax, [ebp - 0x450]
push esi
push eax
call fcn.0045d10c
xor eax, eax
mov dword [ebp - 0x674], esi
lea edi, [ebp - 0x670]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push esi
push eax
mov dword [ebp - 0x668], esi
call fcn.0045d10c
mov eax, dword [ebx + 0x21c]
mov eax, dword [eax]
add esp, 0x24
cmp eax, dword [ebx + 4]
jb 0x428273
call fcn.0043714c
test eax, eax
je 0x428265
push 0x40385c
call fcn.00439586
cmp dword [ebx + 4], esi
je 0x42850c
jmp 0x428509
mov eax, dword [ebx]
test al, 2
je 0x42829f
and eax, 0x10000000
push eax
call fcn.0046ee32
test eax, eax
jne 0x42829f
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x40388c
jmp 0x4284ef
push 1
lea eax, [ebp - 0x668]
push eax
push ebx
call fcn.004295b5
test eax, eax
jne 0x4282c9
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x4038c0
jmp 0x4284ef
push esi
lea eax, [ebp - 0x670]
push eax
push ebx
mov dword [ebp - 0x66c], esi
mov dword [ebp - 0x674], 0xc
call fcn.004295b5
test eax, eax
jne 0x428302
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x4038f4
jmp 0x4284ef
cmp dword [0x4b2300], esi
jne 0x428352
call fcn.00429dde
mov ecx, dword [ebp - 0x65c]
test eax, eax
je 0x428358
cmp dword [0x4aaf04], 2
jne 0x428343
mov eax, dword [ecx + 0x113c]
test eax, eax
je 0x428336
cmp word [eax], si
je 0x428336
xor eax, eax
inc eax
jmp 0x428338
mov eax, esi
mov edi, dword [ebp - 0x664]
mov dword [edi + 0x28], eax
jmp 0x42835e
mov edi, dword [ebp - 0x664]
mov dword [edi + 0x28], 1
jmp 0x42835e
mov ecx, dword [ebp - 0x65c]
mov edi, dword [ebp - 0x664]
mov dword [edi + 0x14], 1
mov eax, dword [ecx + 0x1140]
mov dword [edi + 0x30], eax
push dword [ecx + 0x113c]
push esi
push esi
push edi
call fcn.0042a000
test eax, eax
jne 0x428397
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x403928
jmp 0x4284ef
push dword [ebp - 0x668]
push ebx
call fcn.0042969d
test eax, eax
je 0x42850c
lea ecx, [ebp - 0x674]
push ecx
push 0x100002
push 0x104
lea ecx, [ebp - 0x658]
push ecx
push 0x403964
lea eax, [ebx + 0xc]
push eax
lea eax, [ebp - 0x660]
push eax
call fcn.00438f71
test eax, eax
jne 0x4283fe
call fcn.0043714c
test eax, eax
je 0x4283ef
push 0x403970
call fcn.00439586
push 0x30303030
call fcn.0044a6b6
jmp 0x42850c
push esi
lea eax, [ebp - 0x678]
push eax
push dword [edi + 0x1c]
push dword [edi + 0x20]
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x428433
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x4039a8
jmp 0x4284ef
push 0x104
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.00429169
push ebx
call fcn.004264fb
test eax, eax
je 0x42850c
lea eax, [ebp - 0x674]
push eax
push edi
push dword [ebp - 0x65c]
lea eax, [ebp - 0x450]
push eax
call fcn.00426996
test eax, eax
jne 0x42848b
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x4039d4
jmp 0x4284ef
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebx + 0xc]
push eax
call fcn.0042027c
push edi
lea eax, [ebp - 0x20c]
push eax
push 0x4032d0
call fcn.0043e61b
push edi
lea eax, [ebp - 0x20c]
push eax
push 0x41df9c
call fcn.0043e61b
lea eax, [ebp - 0x674]
push eax
push 0x100002
lea eax, [ebp - 0x20c]
push eax
call fcn.0042975a
test eax, eax
jne 0x4284f6
call fcn.0043714c
test eax, eax
je 0x42850c
push 0x403a10
call fcn.00439586
jmp 0x42850c
call fcn.0043714c
test eax, eax
je 0x428509
push 0x403a44
call fcn.00439586
xor esi, esi
inc esi
push dword [ebx + 0x214]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x660], 0
je 0x42852d
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x42854f
test dword [ebx], 0x10000000
jne 0x428542
call fcn.00426632
test eax, eax
je 0x42854f
mov eax, dword [ebx]
or eax, 0x30000
push eax
call fcn.00428c48
push dword [ebp - 0x670]
call dword [sym.imp.KERNEL32.dll_LocalFree]
test esi, esi
jne 0x428577
lea eax, [ebp - 0x658]
push eax
call fcn.0043a34c
lea eax, [ebp - 0x450]
push eax
call fcn.0043a34c
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045cd7f
leave
ret 0xc