Function at 0x431c60
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
inc edi
mov esi, ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], 0xf9c71042
mov dword [ebp - 0x20], 0xa592c6ee
mov dword [ebp - 0x20], 0x4b064bae
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x431c98
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
imul eax, dword [ebp - 0x14], 0x77ec50fa
test eax, eax
jne 0x431ca6
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xdc75
mov eax, 0xac196a16
setge cl
cmp eax, ecx
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
cmp byte [esi], bl
je 0x431f69
mov dword [ebp - 8], 0x58bd4dfb
mov dword [ebp - 0x14], 0x8d20b50f
mov dword [ebp - 0x10], 0x5c74600e
mov dword [ebp - 0x18], ebx
jmp 0x431d0b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x38], 0x25b9b55b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x431cfd
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0x1b
jl 0x431f53
push 4
pop esi
mov dword [ebp - 0x18], 0x9351f200
mov dword [ebp - 8], ebx
jmp 0x431d3b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x431d2d
mov dword [ebp - 8], ebx
jmp 0x431d53
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c], 0x8909ff4c
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x431d45
mov dword [ebp - 8], ebx
jmp 0x431d6b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], 0x62a08d8d
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x431d5d
mov dword [ebp - 0x18], ebx
jmp 0x431f3c
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], 0x6f69a7c8
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x431da2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2c], 0xfffffff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x431d94
mov dword [ebp - 8], 7
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x30], ebx
je 0x431dbd
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
cmp eax, 0xad8e
setl cl
imul ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0xfffa
mov dword [ebp - 0x20], edi
jne 0x431ec0
mov dword [ebp - 8], 0x18f82ea9
mov dword [ebp - 8], 0xffffffe7
jmp 0x431e10
mov dword [ebp - 0x14], ebx
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x431e0d
push 0x9c4
call dword [sym.imp.GDI32.dll_EndDoc]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe8
jne 0x431df7
mov eax, dword [ebp - 0x14]
mov ecx, 0x804524be
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setne dl
sub edx, eax
mov eax, dword [ebp - 0xc]
sub edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x20]
neg eax
jne 0x431e4e
mov ecx, ebx
cmp dword [ebp - 0x24], ebx
je 0x431e50
mov ecx, edi
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0xc]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jne 0x431e75
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x431e77
mov eax, edi
mov edx, dword [ebp - 0x20]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
setne dl
cmp edx, dword [ebp - 0x14]
jne 0x431ea4
cmp dword [ebp - 0x20], ebx
je 0x431ea4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp eax, 0xaf36eaf
mov eax, dword [ebp - 0xc]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
jmp 0x431f39
mov eax, dword [ebp - 0x28]
add eax, 0x4ccf
jne 0x431eec
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x20]
mov eax, ebx
je 0x431eee
mov eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x431f03
mov ecx, edi
cmp dword [ebp - 0x28], ebx
jne 0x431f05
mov ecx, ebx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x431f39
push 0x1b15
call dword [sym.imp.USER32.dll_HideCaret]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 8
jne 0x431d78
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1b
jge 0x431d21
push ebx
push 0x9a0
push 0x1ef4
push 0x1686
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret