Function at 0x101228c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push edi
mov edi, dword [ebp + 0x10]
sub eax, edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x10], 0
test edx, edx
jle 0x10122aef
push ebx
push esi
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x1c]
push edi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [edi - 2]
add esp, 0xc
xor esi, esi
cmp eax, 3
ja case.default.0x10122911
jmp dword [eax*4 + 0x10122afc]
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122aa6
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
nop dword [eax]
mov bl, byte [edx]
mov eax, ecx
and eax, 7
movzx edx, bl
movzx eax, byte [ebp + eax - 0x1c]
sub edx, eax
lea eax, [ecx + edi]
and eax, 7
add esi, edx
mov edx, dword [ebp - 0xc]
inc ecx
mov byte [ebp + eax - 0x1c], bl
mov eax, esi
mov ebx, dword [ebp + 0xc]
shr eax, 1
mov byte [edx], al
add edx, ebx
mov dword [ebp - 0xc], edx
cmp ecx, dword [ebp - 4]
jle 0x10122930
jmp 0x10122aa6
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122aa6
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
nop word [eax + eax]
mov bl, byte [eax]
mov eax, ecx
and eax, 7
movzx edx, bl
movzx eax, byte [ebp + eax - 0x1c]
sub edx, eax
lea eax, [ecx + edi]
and eax, 7
add esi, edx
inc ecx
mov byte [ebp + eax - 0x1c], bl
mov eax, 0xaaaaaaab
mov ebx, dword [ebp + 0xc]
mul esi
mov eax, dword [ebp - 0xc]
shr edx, 1
mov byte [eax], dl
add eax, ebx
mov dword [ebp - 0xc], eax
cmp ecx, dword [ebp - 4]
jle 0x10122980
jmp 0x10122aa6
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122aa6
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
nop
mov bl, byte [edx]
mov eax, ecx
and eax, 7
movzx edx, bl
movzx eax, byte [ebp + eax - 0x1c]
sub edx, eax
lea eax, [ecx + edi]
and eax, 7
add esi, edx
mov edx, dword [ebp - 0xc]
inc ecx
mov byte [ebp + eax - 0x1c], bl
mov eax, esi
mov ebx, dword [ebp + 0xc]
shr eax, 2
mov byte [edx], al
add edx, ebx
mov dword [ebp - 0xc], edx
cmp ecx, dword [ebp - 4]
jle 0x101229d0
jmp 0x10122aa6
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122aa6
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
nop dword [eax + eax]
mov bl, byte [eax]
mov eax, ecx
and eax, 7
movzx edx, bl
movzx eax, byte [ebp + eax - 0x1c]
sub edx, eax
lea eax, [ecx + edi]
and eax, 7
add esi, edx
inc ecx
mov byte [ebp + eax - 0x1c], bl
mov eax, 0xcccccccd
mov ebx, dword [ebp + 0xc]
mul esi
mov eax, dword [ebp - 0xc]
shr edx, 2
mov byte [eax], dl
add eax, ebx
mov dword [ebp - 0xc], eax
cmp ecx, dword [ebp - 4]
jle 0x10122a20
jmp 0x10122aa6
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122aa6
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
nop dword [eax]
mov bl, byte [edx]
mov eax, ecx
and eax, 7
movzx edx, bl
movzx eax, byte [ebp + eax - 0x1c]
sub edx, eax
lea eax, [ecx + edi]
and eax, 7
add esi, edx
xor edx, edx
inc ecx
mov byte [ebp + eax - 0x1c], bl
mov eax, esi
div edi
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp + 0xc]
mov byte [edx], al
add edx, ebx
mov dword [ebp - 0xc], edx
cmp ecx, dword [ebp - 4]
jle 0x10122a70
cmp ecx, dword [ebp + 8]
jge 0x10122ada
mov edi, ecx
imul edi, ebx
mov ebx, dword [ebp + 0x10]
add edi, dword [ebp - 8]
cmp byte [edi], 0
jne 0x10122af4
mov eax, ecx
xor edx, edx
and eax, 7
inc ecx
movzx eax, byte [ebp + eax - 0x1c]
sub esi, eax
mov eax, esi
div ebx
mov byte [edi], al
add edi, dword [ebp + 0xc]
cmp ecx, dword [ebp + 8]
jl 0x10122ab6
mov edi, ebx
mov eax, dword [ebp - 0x10]
inc dword [ebp - 8]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x14]
jl 0x101228f1
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
sbb byte [ecx], ch
adc dl, byte [eax]
imul ebp, dword [ecx], 0x29be1012
adc dl, byte [eax]
or ch, byte [edx]
adc dl, byte [eax]
int3