Function at 0x42274d
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 [0x446590]
lea ecx, [eax - 1]
mov dword [0x446590], ecx
xor eax, 0x49ae
movzx ecx, word [0x44216a]
imul ecx, eax
mov word [0x44216a], cx
imul eax, dword [0x444138], 0x6b40085a
mov dword [0x444138], eax
movzx eax, word [0x4422ca]
add eax, 0x72b3
xor word [0x441742], ax
cmp dword [esi + 8], 0x8001
jb 0x422c92
mov eax, dword [0x4453a0]
lea ecx, [eax + 1]
mov dword [0x4453a0], ecx
or eax, 0x82112785
and dword [0x4436dc], eax
mov eax, 0xe00f3b73
sub eax, dword [0x446c88]
cmp eax, 0xe244e7fe
jl 0x4227f0
mov eax, dword [0x4454e4]
dec word [0x441c70]
mov ax, word [0x441b7e]
jmp 0x4227fa
add dword [0x44753c], 0x76ccb446
add dword [0x4458b4], 0xd8898604
mov eax, dword [0x446f10]
inc eax
mov dword [0x446f10], eax
cmp eax, 0xf4577e54
jg 0x422830
movsx eax, word [0x44321e]
xor eax, dword [0x446c5c]
xor eax, dword [0x446370]
not eax
mov dword [0x446370], eax
lea ebp, [esp + 0x508]
push ebp
call fcn.0041f3e0
add esp, 4
imul cx, word [0x4416be], 0x5a85
mov word [0x4416be], cx
lea edi, [esp + eax + 0x508]
call fcn.0040bf74
and al, 3
movzx eax, al
add eax, 7
push eax
push edi
call fcn.00428a37
add esp, 8
add dword [0x44688c], 0xdff7ff3f
push 5
push 0x4428
call fcn.004036ba
add esp, 8
mov edi, eax
mov eax, dword [0x446eb4]
lea ecx, [eax + 1]
mov dword [0x446eb4], ecx
or eax, 0x22f832ab
xor eax, 0x19038854
add dword [0x444008], eax
push edi
push ebp
call sub.msvcrt.dll_strcat
add esp, 8
add dword [0x443e7c], 0x65b9129d
push 3
push 0x187b
call fcn.004036ba
add esp, 8
mov ebx, eax
mov eax, dword [0x443760]
and eax, 0x9b003900
or eax, 0x60e90667
mov ecx, dword [0x444cf8]
lea edx, [ecx + 1]
mov dword [0x444cf8], edx
imul ecx, ecx, 0x969ef555
cmp eax, ecx
je 0x42290a
mov eax, dword [0x4444b4]
cmp eax, 0x80771070
je 0x42290a
mov dword [0x444854], 0x3cec7b08
push edi
push 5
call fcn.004042a2
add esp, 8
mov eax, dword [0x44649c]
shl eax, 5
movzx ecx, word [0x4418fc]
and ecx, eax
mov word [0x4418fc], cx
push ebx
push ebp
call sub.msvcrt.dll_fopen
add esp, 8
mov edi, eax
add word [0x443292], 0x136d
push ebx
push 3
call fcn.004042a2
add esp, 8
imul eax, dword [0x4460dc], 0x9ffe5e5f
mov dword [0x4460dc], eax
test edi, edi
je 0x422c52
mov eax, dword [0x443f68]
movsx ecx, word [0x442de2]
lea edx, [ecx - 1]
mov word [0x442de2], dx
imul eax, ecx
sub dword [0x444698], eax
mov eax, 0x3015c608
xor eax, dword [0x444104]
add dword [0x447760], eax
mov eax, 0x566e091b
or eax, dword [0x445784]
xor eax, 0xa991f6e4
imul eax, dword [0x444aa4]
mov dword [0x444aa4], eax
mov eax, dword [0x4445b0]
inc eax
mov dword [0x4445b0], eax
movsx ecx, word [0x442cf8]
xor ecx, eax
xor dword [0x4451c0], ecx
mov eax, dword [esi + 4]
imul ecx, dword [0x444138], 0x6b40085a
mov dword [0x444138], ecx
movzx ecx, word [0x4422ca]
add ecx, 0x72b3
xor word [0x441742], cx
push edi
push 1
push dword [esi + 8]
push eax
call sub.msvcrt.dll_fwrite
add esp, 0x10
or dword [0x447850], 0x6bffaef0
push edi
call sub.msvcrt.dll_fclose
add esp, 4
mov eax, dword [0x44610c]
imul eax, dword [0x443c54]
mov dword [0x443c54], eax
mov ecx, esi
push 0
call fcn.00427aba
mov dword [0x44723c], 0x997ad660
mov byte [esp + 0x106], 0
imul eax, dword [0x443864], 0x5b11c277
mov dword [0x446b38], eax
lea ebx, [esp + 2]
push 0x104
push ebx
push 0
call dword [0x44113c]
mov eax, 0xca730a7c
sub eax, dword [0x444af8]
mov dword [0x443ee0], eax
mov byte [esp + 0x507], 0
mov eax, 0xf406af77
or eax, dword [0x446cf0]
imul eax, dword [0x4468c0]
mov dword [0x4468c0], eax
push 0x15
push 0x932
call fcn.004036ba
add esp, 8
mov esi, eax
imul eax, dword [0x445cd0], 0x5fe2fffe
mov dword [0x445cd0], eax
lea edi, [esp + 0x107]
push dword [0x448138]
push dword [0x448120]
push ebx
push esi
push edi
call sub.msvcrt.dll_sprintf
add esp, 0x14
mov eax, dword [0x445d2c]
mov ecx, dword [0x4459d0]
lea edx, [ecx - 1]
mov dword [0x4459d0], edx
add eax, ecx
cmp eax, 0x9024453f
jg 0x422af4
or dword [0x444520], 0x9a705b1f
push esi
push 0x15
call fcn.004042a2
add esp, 8
add dword [0x4454c4], 0x1403024
push dword [0x448138]
call fcn.0042634e
add esp, 4
mov eax, dword [0x443ac0]
movsx ecx, word [0x4414cc]
add ecx, eax
or ecx, 0x399f13c5
xor dword [0x446124], ecx
push edi
push ebp
call fcn.0041bcbb
add esp, 8
and word [0x441e44], 0x4180
xor dword [0x444660], 0x6a110214
mov eax, dword [0x443844]
inc eax
mov dword [0x443844], eax
xor dword [0x446aa0], eax
xor eax, eax
mov byte [esp + eax + 0x107], 0
inc eax
cmp eax, 0x401
jne 0x422b61
and dword [0x446840], 0xd7f584d
xor dword [0x444660], 0x6a110214
mov eax, dword [0x443844]
inc eax
mov dword [0x443844], eax
xor dword [0x446aa0], eax
xor eax, eax
mov byte [esp + eax + 2], 0
inc eax
cmp eax, 0x105
jne 0x422b98
mov eax, dword [0x444968]
lea ecx, [eax - 1]
mov dword [0x444968], ecx
imul eax, eax, 0xca4066bf
sub eax, dword [0x447044]
xor dword [0x446074], eax
push 0x15f90
call dword [0x441198]
movsx eax, word [0x4426c2]
shr eax, 7
movzx ecx, word [0x441572]
xor ecx, eax
mov word [0x441572], cx
push ebp
call dword [0x4410e8]
mov eax, dword [0x445eb8]
mov ecx, 0xcceb34df
sub ecx, eax
or ecx, 0x1947bee
mov eax, dword [0x446fdc]
lea edx, [eax + 1]
mov dword [0x446fdc], edx
imul eax, eax, 0x25eb613f
cmp ecx, eax
jle 0x422c28
mov eax, dword [0x443c4c]
xor dword [0x4438cc], eax
jmp 0x422c52
mov eax, dword [0x4455a4]
add eax, 0xf3ffd55d
movsx ecx, word [0x442a9c]
shl ecx, 0xa
add ecx, 0xd9286a3c
or ecx, dword [0x445e30]
cmp eax, ecx
je 0x422c52
mov ax, word [0x441bf2]
or word [0x4425dc], 0x1bf9
xor dword [0x444660], 0x6a110214
mov eax, dword [0x443844]
inc eax
mov dword [0x443844], eax
xor dword [0x446aa0], eax
xor eax, eax
mov byte [esp + eax + 0x508], 0
inc eax
cmp eax, 0x118
jne 0x422c78
and dword [0x446130], 0xcae75cd2
add word [0x44183c], 0x9e0
add esp, 0x620
pop esi
pop edi
pop ebx
pop ebp
ret