Function at 0x10081910
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov bl, byte [esi]
cmp bl, 0x20
jb 0x10081a66
movzx ecx, bl
lea eax, [esi + 1]
cmp bl, 0x80
jb 0x10081990
movzx eax, byte [eax]
lea edi, [ecx - 0x7f]
mov ecx, dword [0x1021e29c]
mov edx, ecx
mov ebx, dword [0x1021e294]
sub edx, eax
dec edx
lea eax, [ecx + edi]
cmp eax, ebx
ja 0x10081d14
cmp edx, dword [0x1021e298]
jae 0x1008196d
lea eax, [ebx + 1]
add esi, 2
pop edi
mov dword [0x1021e29c], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x10081984
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
inc ecx
sub edi, 1
jne 0x10081971
mov dword [0x1021e29c], ecx
add esi, 2
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 0x40
jb 0x10081a02
movzx edi, byte [esi + 2]
movzx eax, byte [eax]
inc edi
mov ebx, dword [0x1021e294]
shl ecx, 8
mov dword [ebp - 4], ecx
mov ecx, dword [0x1021e29c]
mov edx, ecx
sub edx, dword [ebp - 4]
sub edx, eax
add edx, 0x3fff
lea eax, [ecx + edi]
cmp eax, ebx
ja 0x10081d14
cmp edx, dword [0x1021e298]
jae 0x100819e3
lea eax, [ebx + 1]
add esi, 3
pop edi
mov dword [0x1021e29c], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
inc ecx
sub edi, 1
jne 0x100819e3
add esi, 3
mov dword [0x1021e29c], ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [0x1021e29c]
lea edx, [ecx - 0x1f]
mov ecx, dword [0x1021e294]
add edi, edx
cmp edi, ecx
ja 0x10081d14
cmp eax, dword [0x1021e290]
jae 0x10081a3d
movzx eax, bl
lea edi, [ecx + 1]
add esi, 0xffffffe2
mov dword [0x1021e29c], edi
add esi, eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edx
push eax
push dword [0x1021e29c]
call sub.VCRUNTIME140.dll_memcpy
mov bl, byte [esi]
add esp, 0xc
movzx eax, bl
add esi, 0xffffffe2
add esi, eax
mov dword [0x1021e29c], edi
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 0x18
jb 0x10081ae1
movzx eax, byte [esi + 1]
mov ecx, dword [0x1021e29c]
mov edx, ecx
movzx edi, byte [esi + 3]
shl eax, 8
inc edi
sub edx, eax
movzx eax, bl
mov ebx, dword [0x1021e294]
shl eax, 0x10
sub edx, eax
movzx eax, byte [esi + 2]
sub edx, eax
lea eax, [ecx + edi]
add edx, 0x17ffff
cmp eax, ebx
ja 0x10081d14
cmp edx, dword [0x1021e298]
jae 0x10081ac2
lea eax, [ebx + 1]
add esi, 4
pop edi
mov dword [0x1021e29c], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
inc ecx
sub edi, 1
jne 0x10081ac2
add esi, 4
mov dword [0x1021e29c], ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 0x10
jb 0x10081b6f
movzx ecx, byte [esi + 3]
movzx edi, byte [esi + 4]
movzx eax, byte [esi + 1]
inc edi
shl ecx, 8
shl eax, 8
add edi, ecx
mov ecx, dword [0x1021e29c]
mov edx, ecx
sub edx, eax
movzx eax, bl
mov ebx, dword [0x1021e294]
shl eax, 0x10
sub edx, eax
movzx eax, byte [esi + 2]
sub edx, eax
lea eax, [ecx + edi]
add edx, 0xfffff
cmp eax, ebx
ja 0x10081d14
cmp edx, dword [0x1021e298]
jae 0x10081b50
lea eax, [ebx + 1]
add esi, 5
pop edi
mov dword [0x1021e29c], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
inc ecx
sub edi, 1
jne 0x10081b50
add esi, 5
mov dword [0x1021e29c], ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 8
jb 0x10081be9
mov dl, byte [esi + 1]
mov edi, dword [0x1021e29c]
movzx ecx, bl
shl ecx, 8
movzx eax, dl
add eax, 0xfffff801
add ecx, eax
lea eax, [esi + 2]
add edi, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [0x1021e294]
cmp edi, ecx
ja 0x10081d14
cmp eax, dword [0x1021e290]
jae 0x10081bb0
lea edi, [ecx + 1]
jmp 0x10081bc7
push dword [ebp - 4]
push eax
push dword [0x1021e29c]
call sub.VCRUNTIME140.dll_memcpy
mov bl, byte [esi]
add esp, 0xc
mov dl, byte [esi + 1]
movzx ecx, bl
shl ecx, 8
movzx eax, dl
add eax, esi
mov dword [0x1021e29c], edi
pop edi
lea esi, [ecx - 0x7fd]
add esi, eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 7
jne 0x10081c60
mov dl, byte [esi + 1]
mov bl, byte [esi + 2]
mov edi, dword [0x1021e29c]
movzx ecx, dl
shl ecx, 8
movzx eax, bl
inc eax
add ecx, eax
lea eax, [esi + 3]
add edi, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [0x1021e294]
cmp edi, ecx
ja 0x10081d14
cmp eax, dword [0x1021e290]
jae 0x10081c29
lea edi, [ecx + 1]
jmp 0x10081c41
push dword [ebp - 4]
push eax
push dword [0x1021e29c]
call sub.VCRUNTIME140.dll_memcpy
mov dl, byte [esi + 1]
add esp, 0xc
mov bl, byte [esi + 2]
movzx ecx, dl
shl ecx, 8
movzx eax, bl
add eax, esi
mov dword [0x1021e29c], edi
pop edi
lea esi, [ecx + 4]
add esi, eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 6
jne 0x10081cd3
movzx eax, byte [esi + 1]
mov edx, dword [0x1021e29c]
mov ecx, edx
movzx edi, byte [esi + 4]
mov ebx, dword [0x1021e294]
inc edi
shl eax, 0x10
sub ecx, eax
movzx eax, byte [esi + 2]
shl eax, 8
sub ecx, eax
movzx eax, byte [esi + 3]
sub ecx, eax
lea eax, [edx + edi]
dec ecx
cmp eax, ebx
ja 0x10081d14
cmp ecx, dword [0x1021e298]
jae 0x10081cb4
lea eax, [ebx + 1]
add esi, 5
pop edi
mov dword [0x1021e29c], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
inc edx
sub edi, 1
jne 0x10081cb4
add esi, 5
mov dword [0x1021e29c], edx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 4
jne 0x10081d4e
movzx ecx, byte [esi + 4]
movzx edi, byte [esi + 5]
movzx eax, byte [esi + 1]
inc edi
mov ebx, dword [0x1021e294]
shl ecx, 8
shl eax, 0x10
add edi, ecx
mov ecx, dword [0x1021e29c]
mov edx, ecx
sub edx, eax
movzx eax, byte [esi + 2]
shl eax, 8
sub edx, eax
movzx eax, byte [esi + 3]
sub edx, eax
lea eax, [ecx + edi]
dec edx
cmp eax, ebx
jbe 0x10081d1c
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp edx, dword [0x1021e298]
jae 0x10081d38
lea eax, [ebx + 1]
add esi, 6
pop edi
mov dword [0x1021e29c], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
inc ecx
sub edi, 1
jne 0x10081d38
mov dword [0x1021e29c], ecx
add esi, 6
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret