Function at 0x101227d8
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 0x101229af
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.0x101227d1
jmp dword [eax*4 + 0x101229bc]
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122966
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 0x101227f0
jmp 0x10122966
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122966
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 0x10122840
jmp 0x10122966
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122966
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 0x10122890
jmp 0x10122966
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122966
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 0x101228e0
jmp 0x10122966
xor ecx, ecx
cmp dword [ebp - 4], ecx
jl 0x10122966
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 0x10122930
cmp ecx, dword [ebp + 8]
jge 0x1012299a
mov edi, ecx
imul edi, ebx
mov ebx, dword [ebp + 0x10]
add edi, dword [ebp - 8]
cmp byte [edi], 0
jne 0x101229b4
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 0x10122976
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 0x101227b1
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]
fsub dword [edi]
adc dl, byte [eax]
sub dword [eax], ebp
adc dl, byte [eax]
jle 0x101229ee
adc dl, byte [eax]
retf 0x1228
pop ebp
clc