Function at 0x41a260
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, edx
xor eax, eax
mov ebx, 0xffffffff
movzx edx, byte [esp + 0x2c]
nop word cs:[eax + eax]
mov esi, eax
inc eax
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x41a280
mov dword [esp + 4], esi
mov eax, ebx
and eax, 0x3fffffff
mov esi, dword [ecx + 4]
test dl, dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 0x14], esi
je 0x41a2d6
add esi, eax
add esi, 3
test eax, eax
je 0x41a413
movzx ebp, dl
mov ecx, dword [esp + 4]
and ecx, 0x3fffffff
xor edx, edx
mov dword [esp], ecx
cmp ecx, 8
jae 0x41a2de
mov eax, ebp
jmp 0x41a400
add esi, eax
inc esi
jmp 0x41a413
movd xmm0, esi
mov dword [esp + 0x10], ebp
movd xmm1, ebp
pshufd xmm1, xmm1, 0
mov ecx, dword [esp]
add ecx, 0xfffffff8
mov edx, ecx
shr edx, 3
inc edx
cmp ecx, 8
jae 0x41a30d
mov esi, edx
pxor xmm2, xmm2
xor ecx, ecx
jmp 0x41a393
mov esi, edx
and edx, 0xfffffffe
pxor xmm2, xmm2
xor ecx, ecx
nop dword [eax + eax]
movd xmm3, dword [edi + ecx]
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
movd xmm4, dword [edi + ecx + 4]
punpcklbw xmm4, xmm4
punpcklwd xmm4, xmm4
psrad xmm3, 0x18
psrad xmm4, 0x18
pcmpeqd xmm3, xmm1
psubd xmm0, xmm3
pcmpeqd xmm4, xmm1
psubd xmm2, xmm4
movd xmm3, dword [edi + ecx + 8]
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
movd xmm4, dword [edi + ecx + 0xc]
punpcklbw xmm4, xmm4
punpcklwd xmm4, xmm4
psrad xmm3, 0x18
psrad xmm4, 0x18
pcmpeqd xmm3, xmm1
psubd xmm0, xmm3
pcmpeqd xmm4, xmm1
psubd xmm2, xmm4
add ecx, 0x10
add edx, 0xfffffffe
jne 0x41a320
mov edx, dword [esp]
and edx, 0xfffffff8
mov eax, esi
test al, 1
je 0x41a3d4
movd xmm3, dword [edi + ecx]
movd xmm4, dword [edi + ecx + 4]
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
psrad xmm3, 0x18
punpcklbw xmm4, xmm4
punpcklwd xmm4, xmm4
psrad xmm4, 0x18
pcmpeqd xmm3, xmm1
psubd xmm0, xmm3
pcmpeqd xmm4, xmm1
psubd xmm2, xmm4
paddd xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd esi, xmm0
cmp edx, dword [esp]
mov eax, dword [esp + 0x10]
je 0x41a413
nop word [eax + eax]
movsx ebp, byte [edi + edx]
xor ecx, ecx
cmp ebp, eax
sete cl
add esi, ecx
inc edx
cmp dword [esp], edx
jne 0x41a400
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
test eax, eax
je 0x41a430
mov edx, dword [esp + 0x14]
add edx, esi
mov ebp, ecx
mov ecx, dword [ecx + 8]
cmp edx, ecx
jge 0x41a435
mov ecx, ebp
jmp 0x41a455
mov ebp, ecx
mov ecx, dword [ecx + 8]
lea ecx, [esi + ecx*2]
add ecx, 0x14
mov dword [ebp + 8], ecx
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov dword [ebp], eax
test eax, eax
mov ecx, ebp
je 0x41a543
add eax, dword [ecx + 4]
movzx edx, byte [esp + 0x2c]
test dl, dl
je 0x41a4a5
mov byte [eax], dl
inc eax
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x41a525
movzx esi, dl
cmp ecx, 1
jne 0x41a4c2
xor edx, edx
test bl, 1
je 0x41a525
movzx ecx, byte [edi + edx]
mov byte [eax], cl
movsx ecx, byte [edi + edx]
cmp ecx, esi
jne 0x41a524
movzx ecx, byte [esp + 0x2c]
mov byte [eax + 1], cl
add eax, 2
jmp 0x41a525
mov ebx, dword [esp + 8]
push ebx
push edi
push eax
mov esi, ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add ebx, dword [esi + 4]
mov dword [esi + 4], ebx
add ebx, dword [esi]
mov eax, ebx
jmp 0x41a538
mov edx, dword [esp + 4]
mov ecx, edx
and ecx, 0x3fffffff
and edx, 1
sub ecx, edx
mov ebp, ecx
xor edx, edx
jmp 0x41a4f2
movzx ecx, byte [esp + 0x2c]
mov byte [eax + 1], cl
add eax, 2
add edx, 2
cmp ebp, edx
je 0x41a47a
movzx ecx, byte [edi + edx]
mov byte [eax], cl
movsx ecx, byte [edi + edx]
cmp ecx, esi
jne 0x41a510
movzx ecx, byte [esp + 0x2c]
mov byte [eax + 1], cl
add eax, 2
jmp 0x41a511
inc eax
movzx ecx, byte [edi + edx + 1]
mov byte [eax], cl
movsx ecx, byte [edi + edx + 1]
cmp ecx, esi
je 0x41a4e0
inc eax
jmp 0x41a4eb
inc eax
movzx ecx, byte [esp + 0x2c]
mov byte [eax], cl
inc eax
mov ecx, eax
mov edx, dword [esp + 0xc]
sub ecx, dword [edx]
mov dword [edx + 4], ecx
mov byte [eax], 0
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x15
push str.Error:_out_of_memory_n
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop word [eax + eax]