Function at 0x101229d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov eax, ecx
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp + 0x10]
mov ebx, edx
sub ebx, ecx
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
xorps xmm0, xmm0
mov dword [ebp - 8], ebx
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x14], 0
jle 0x10122c05
push edi
mov edi, ecx
lea edx, [ecx - 2]
sub edi, eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], edi
push esi
push ecx
lea eax, [ebp - 0x20]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x18]
add esp, 0xc
xor esi, esi
cmp eax, 3
ja case.default.0x10122a2e
jmp dword [eax*4 + 0x10122c0c]
xor ecx, ecx
test ebx, ebx
js 0x10122baf
mov edi, dword [ebp - 4]
mov bl, byte [edi]
mov eax, ecx
and eax, 7
movzx edx, bl
inc ecx
movzx eax, byte [ebp + eax - 0x20]
sub edx, eax
mov eax, dword [ebp - 0xc]
add eax, edi
add esi, edx
and eax, 7
mov byte [ebp + eax - 0x20], bl
mov eax, esi
mov ebx, dword [ebp - 8]
shr eax, 1
mov byte [edi], al
inc edi
cmp ecx, ebx
jle 0x10122a42
mov edi, dword [ebp - 0xc]
jmp 0x10122baf
xor ecx, ecx
test ebx, ebx
js 0x10122baf
mov edx, dword [ebp - 4]
mov eax, edx
mov dword [ebp - 0xc], edx
nop word [eax + eax]
mov bl, byte [eax]
mov eax, ecx
and eax, 7
movzx edx, bl
inc ecx
movzx eax, byte [ebp + eax - 0x20]
sub edx, eax
mov eax, dword [ebp - 0xc]
add eax, edi
add esi, edx
and eax, 7
mov byte [ebp + eax - 0x20], bl
mov eax, 0xaaaaaaab
mov ebx, dword [ebp - 8]
mul esi
mov eax, dword [ebp - 0xc]
shr edx, 1
mov byte [eax], dl
inc eax
mov dword [ebp - 0xc], eax
cmp ecx, ebx
jle 0x10122a90
jmp 0x10122baf
xor ecx, ecx
test ebx, ebx
js 0x10122baf
mov edi, dword [ebp - 4]
nop dword [eax + eax]
mov bl, byte [edi]
mov eax, ecx
and eax, 7
movzx edx, bl
inc ecx
movzx eax, byte [ebp + eax - 0x20]
sub edx, eax
mov eax, dword [ebp - 0xc]
add eax, edi
add esi, edx
and eax, 7
mov byte [ebp + eax - 0x20], bl
mov eax, esi
mov ebx, dword [ebp - 8]
shr eax, 2
mov byte [edi], al
inc edi
cmp ecx, ebx
jle 0x10122ae0
mov edi, dword [ebp - 0xc]
jmp 0x10122baf
xor ecx, ecx
test ebx, ebx
js 0x10122baf
mov edx, dword [ebp - 4]
mov eax, edx
mov dword [ebp - 0xc], edx
nop dword [eax]
mov bl, byte [eax]
mov eax, ecx
and eax, 7
movzx edx, bl
inc ecx
movzx eax, byte [ebp + eax - 0x20]
sub edx, eax
mov eax, dword [ebp - 0xc]
add eax, edi
add esi, edx
and eax, 7
mov byte [ebp + eax - 0x20], bl
mov eax, 0xcccccccd
mov ebx, dword [ebp - 8]
mul esi
mov eax, dword [ebp - 0xc]
shr edx, 2
mov byte [eax], dl
inc eax
mov dword [ebp - 0xc], eax
cmp ecx, ebx
jle 0x10122b30
jmp 0x10122baf
xor ecx, ecx
test ebx, ebx
js 0x10122baf
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov bl, byte [edx]
mov eax, ecx
and eax, 7
movzx edx, bl
inc ecx
movzx eax, byte [ebp + eax - 0x20]
sub edx, eax
mov eax, dword [ebp - 0xc]
add eax, edi
add esi, edx
and eax, 7
xor edx, edx
mov byte [ebp + eax - 0x20], bl
mov eax, esi
div dword [ebp + 0x10]
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
mov byte [edx], al
inc edx
mov dword [ebp - 0xc], edx
cmp ecx, ebx
jle 0x10122b78
cmp ecx, dword [ebp - 0x10]
jge 0x10122bdc
mov eax, dword [ebp - 4]
cmp byte [ecx + eax], 0
jne 0x10122bfb
mov eax, ecx
xor edx, edx
and eax, 7
movzx eax, byte [ebp + eax - 0x20]
sub esi, eax
mov eax, esi
div dword [ebp + 0x10]
mov edx, dword [ebp - 4]
mov byte [ecx + edx], al
inc ecx
cmp ecx, dword [ebp - 0x10]
jl 0x10122bb4
mov eax, dword [ebp + 0xc]
sub edi, eax
add dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp + 8]
jge 0x10122c03
mov ecx, dword [ebp + 0x10]
jmp 0x10122a11
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret