Function at 0x41a1e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov eax, dword [ecx + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x58], eax
mov eax, 0x941e9a10
jmp 0x41a240
mov eax, dword [0x435630]
mov esi, 0xe6b77912
mov edi, 0xbef8a5d2
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xbef8a5d2
sete cl
cmove eax, esi
cmp dword [0x435634], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
nop word [eax + eax]
cmp eax, 0xe6b77911
jle 0x41a2a0
cmp eax, 0x45b18201
jg 0x41a310
cmp eax, 0x2325b946
jle 0x41a3a1
cmp eax, 0x2325b947
je 0x41a4a9
cmp eax, 0x238fe37a
je 0x41a4c3
cmp eax, 0x38f5c7a9
jne 0x41a240
cmp byte [esp + 0xb], 0
mov eax, 0x87c2b999
mov ecx, 0xe9e6f7c1
cmovne eax, ecx
jmp 0x41a3d4
cmp eax, 0xbef8a5d1
jg 0x41a370
cmp eax, 0x941e9a0f
jle 0x41a3e8
cmp eax, 0x941e9a10
je 0x41a4f3
cmp eax, 0x98a1869b
je 0x41a1fe
cmp eax, 0xa1950aae
jne 0x41a240
xor eax, eax
mov esi, 0x38f5c7a9
mov edi, 0xe2a6dc86
cmp eax, dword [esp]
mov eax, 0
sbb eax, dword [esp + 4]
mov eax, dword [0x435630]
lea ecx, [eax - 1]
setl byte [esp + 0xb]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe2a6dc86
jmp 0x41a21f
cmp eax, 0x5c54dfeb
jle 0x41a415
cmp eax, 0x5c54dfec
je 0x41a50a
cmp eax, 0x71d9c1ed
je 0x41a524
cmp eax, 0x77c7f30e
jne 0x41a240
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 0
je 0x41a6db
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
mov ecx, eax
sar ecx, 0x1f
jmp 0x41a6df
cmp eax, 0xd1ea28ea
jg 0x41a482
cmp eax, 0xbef8a5d2
je 0x41a54b
cmp eax, 0xc8781fc5
je 0x41a58c
cmp eax, 0xc4371ed0
jne 0x41a240
jmp 0x41a72c
cmp eax, 0xe6b77912
je 0x41a5a9
cmp eax, 0xe9e6f7c1
jne 0x41a240
mov eax, dword [esp + 0xc]
mov ecx, 0x87c2b999
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x28], eax
mov eax, 0x98a1869b
cmp dword [esp + 0x28], 0
cmove eax, ecx
mov ecx, dword [esp]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c], ecx
jmp 0x41a240
cmp eax, 0x80ff331c
je 0x41a628
cmp eax, 0x87c2b999
jne 0x41a240
mov eax, dword [ebp + 0xc]
sub eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x10]
sbb eax, dword [esp + 0x1c]
jmp 0x41a516
cmp eax, 0x45b18202
je 0x41a669
cmp eax, 0x591a065e
jne 0x41a240
mov eax, dword [0x435630]
mov ecx, dword [0x435634]
mov edi, 0xe2a6dc86
mov esi, 0xa1950aae
mov dword [esp + 0x44], ebx
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, esi
cmp edx, 0xffffffff
mov edx, dword [esp + 0x34]
mov eax, edi
cmove eax, esi
mov esi, dword [esp + 0x38]
cmp ecx, 0xa
cmovge eax, edi
mov dword [esp + 4], edx
mov dword [esp], esi
jmp 0x41a240
cmp eax, 0xd1ea28eb
je 0x41a681
cmp eax, 0xe2a6dc86
jne 0x41a240
mov eax, dword [esp]
mov eax, dword [esp + 4]
mov eax, 0xa1950aae
jmp 0x41a240
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov eax, 0x87c2b999
jmp 0x41a240
mov eax, dword [ebp + 0xc]
mov ecx, 0x45b18202
cmp eax, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
sbb eax, dword [esp + 0x14]
mov eax, 0xd1ea28eb
cmovl eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
jmp 0x41a240
cmp dword [esp + 0x58], 0
mov eax, 0x71d9c1ed
mov ecx, 0x77c7f30e
cmove eax, ecx
jmp 0x41a240
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, 0xc4371ed0
jmp 0x41a240
mov eax, dword [0x435630]
mov edi, 0x80ff331c
mov esi, 0xc8781fc5
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xc8781fc5
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41a60b
mov eax, dword [esp + 4]
push dword [esp + 0x28]
push dword [esp + 4]
push 1
push dword [esp + 0x50]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
mov eax, dword [esp]
mov eax, dword [esp + 4]
mov eax, dword [esp]
mov eax, dword [esp + 4]
mov eax, dword [esp]
mov eax, dword [esp + 4]
mov eax, dword [esp]
mov eax, dword [esp + 4]
mov eax, 0xe6b77912
jmp 0x41a240
mov ecx, dword [esp + 0xc]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const___long_long___int64__]
mov eax, 0x80ff331c
jmp 0x41a240
mov eax, dword [esp + 4]
push dword [esp + 0x28]
push dword [esp + 4]
push 1
push dword [esp + 0x50]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov esi, 0x5b137c8
mov edi, 0xc27c70f9
sub ecx, esi
sbb edx, edi
sub ecx, eax
mov eax, dword [0x435630]
sbb edx, 0
add ecx, esi
mov esi, 0xbef8a5d2
mov dword [esp + 0x50], ecx
adc edx, edi
mov edi, 0x2325b947
mov dword [esp + 0x54], edx
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xbef8a5d2
sete cl
cmove eax, edi
cmp dword [0x435634], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
jmp 0x41a240
mov ecx, dword [esp + 0xc]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const___long_long___int64__]
mov dword [esp + 0x48], eax
mov eax, dword [0x435630]
mov esi, 0x5c54dfec
mov dword [esp + 0x4c], edx
mov edi, 0xc8781fc5
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc8781fc5
jmp 0x41a21f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, 0xd1ea28eb
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edx
jmp 0x41a240
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
push esi
mov ebx, dword [ebp + 8]
push ebx
push dword [eax]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov ecx, 0x31ee0c80
mov edi, 0xd15f00
add ebx, esi
sub edx, ecx
sbb eax, edi
sub edx, esi
sbb eax, dword [esp + 0x3c]
add edx, ecx
mov dword [esp + 0x38], edx
adc eax, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x30]
sub dword [ecx], esi
mov eax, dword [eax + 0x20]
add dword [eax], esi
mov eax, 0x591a065e
jmp 0x41a240
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
xor eax, eax
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov ecx, 0x238fe37a
mov ebx, dword [ebp + 8]
cmp eax, dword [esp + 0x10]
mov eax, 0
sbb eax, dword [esp + 0x14]
mov eax, 0x591a065e
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edx
cmovl eax, ecx
mov ecx, esi
neg ecx
mov ecx, 0
sbb ecx, edx
mov ecx, 0x591a065e
cmovge eax, ecx
jmp 0x41a240
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc