Function at 0x2001b728
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, esi
mov dword [ebp - 4], esi
je 0x2001b999
cmp word [edi], si
je 0x2001b999
cmp dword [ebp + 0xc], esi
push ebx
je 0x2001b879
mov ebx, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x3d
push edi
call ebx
mov esi, eax
test esi, esi
jne 0x2001b77e
push 0x3e
push edi
call ebx
mov esi, eax
test esi, esi
jne 0x2001b77e
push 0x3c
push edi
call ebx
mov esi, eax
test esi, esi
je 0x2001b998
movzx ebx, word [esi]
and word [esi], 0
push edi
call fcn.2001b6ab
add esi, 2
push esi
mov edi, eax
call fcn.2001b6ab
cmp byte [ebp + 0x10], 0
pop ecx
pop ecx
mov esi, eax
jne 0x2001b7d3
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp bx, 0x3e
jne 0x2001b7b4
xor ecx, ecx
test eax, eax
jmp 0x2001b802
cmp bx, 0x3c
jne 0x2001b7c0
xor ecx, ecx
test eax, eax
jmp 0x2001b818
cmp bx, 0x3d
jne 0x2001b998
xor ecx, ecx
test eax, eax
jmp 0x2001b971
cmp byte [ebp + 0x10], 1
push edi
jne 0x2001b820
call fcn.200042be
push esi
mov edi, eax
call fcn.200042be
cmp bx, 0x3d
pop ecx
pop ecx
jne 0x2001b7f8
xor ecx, ecx
cmp edi, eax
jmp 0x2001b971
cmp bx, 0x3e
jne 0x2001b80a
xor ecx, ecx
cmp edi, eax
setg cl
jmp 0x2001b974
cmp bx, 0x3c
jne 0x2001b998
xor ecx, ecx
cmp edi, eax
setl cl
jmp 0x2001b974
call fcn.20009213
fstp qword [ebp - 0xc]
push esi
call fcn.20009213
cmp bx, 0x3d
pop ecx
pop ecx
jne 0x2001b840
fcomp qword [ebp - 0xc]
fnstsw ax
test ah, 0x44
jmp 0x2001b84e
cmp bx, 0x3e
jne 0x2001b85c
fcomp qword [ebp - 0xc]
fnstsw ax
test ah, 5
jp 0x2001b870
mov dword [ebp - 4], 1
jmp 0x2001b998
cmp bx, 0x3c
jne 0x2001b996
fcomp qword [ebp - 0xc]
fnstsw ax
test ah, 0x41
je 0x2001b850
and dword [ebp - 4], 0
jmp 0x2001b998
push 4
push edi
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
movzx eax, word [edi + 6]
cmp ax, 0x3e
je 0x2001b8d4
cmp ax, 0x3c
je 0x2001b8d4
cmp ax, 0x3d
je 0x2001b8d4
cmp byte [ebp + 0x10], 2
jne 0x2001b8c0
push edi
call fcn.20004465
test eax, eax
pop ecx
jne 0x2001b850
push edi
call fcn.2000448d
test eax, eax
pop ecx
jne 0x2001b850
mov dword [ebp - 4], esi
jmp 0x2001b998
push esi
push esi
push edi
call fcn.2000ca17
xor ecx, ecx
add esp, 0xc
cmp ecx, eax
jmp 0x2001b98d
lea esi, [edi + 8]
push esi
call fcn.200042be
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov dword [ebp + 8], eax
lea eax, [ebp - 0xc]
mov dword [esp], 0x20003b40
push eax
call ebx
test eax, eax
jne 0x2001b90b
cmp byte [ebp + 0x10], 2
jne 0x2001b904
call fcn.2000c589
jmp 0x2001b962
call fcn.2000c593
jmp 0x2001b962
push 0x20003b38
lea eax, [ebp - 0xc]
push eax
call ebx
test eax, eax
jne 0x2001b94b
cmp word [esi], 0x23
jne 0x2001b92b
lea eax, [edi + 0xa]
push eax
call fcn.200042be
jmp 0x2001b938
movzx eax, word [esi + 2]
push eax
call fcn.20004235
movzx eax, ax
pop ecx
push 0
push 0
push eax
mov dword [ebp + 8], eax
call fcn.2001b5b4
add esp, 0xc
jmp 0x2001b962
cmp byte [ebp + 0x10], 2
lea eax, [ebp - 0xc]
push eax
jne 0x2001b95c
call fcn.200049eb
jmp 0x2001b961
call fcn.200049fc
pop ecx
movzx ecx, word [edi + 6]
cmp cx, 0x3d
jne 0x2001b979
xor ecx, ecx
cmp eax, dword [ebp + 8]
sete cl
mov dword [ebp - 4], ecx
jmp 0x2001b998
cmp cx, 0x3e
jne 0x2001b984
cmp dword [ebp + 8], eax
jmp 0x2001b98d
cmp cx, 0x3c
jne 0x2001b998
cmp eax, dword [ebp + 8]
sbb eax, eax
neg eax
mov dword [ebp - 4], eax
jmp 0x2001b998
fstp st(0)
pop ebx
mov eax, dword [ebp - 4]
pop edi
pop esi
leave
ret