Function at 0x4aaf29
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 0x10]
mov eax, edi
sub eax, 0
je 0x4abf95
sub eax, 1
je 0x4abf84
sub eax, 1
je 0x4abf55
sub eax, 1
je 0x4abf0b
sub eax, 1
je 0x4abe8c
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push ebx
push 0x20
pop ebx
jmp 0x4aae83
mov eax, dword [esi]
cmp eax, dword [edx]
je 0x4aaa76
movzx ecx, al
movzx eax, byte [edx]
sub ecx, eax
je 0x4aaa08
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 1]
movzx eax, byte [edx + 1]
sub ecx, eax
je 0x4aaa2a
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 2]
movzx eax, byte [edx + 2]
sub ecx, eax
je 0x4aaa4c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 3]
movzx eax, byte [edx + 3]
sub ecx, eax
je 0x4aaa6e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 4]
cmp eax, dword [edx + 4]
je 0x4aab0a
movzx eax, byte [edx + 4]
movzx ecx, byte [esi + 4]
sub ecx, eax
je 0x4aaa9c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 5]
movzx eax, byte [edx + 5]
sub ecx, eax
je 0x4aaabe
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 6]
movzx eax, byte [edx + 6]
sub ecx, eax
je 0x4aaae0
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 7]
movzx eax, byte [edx + 7]
sub ecx, eax
je 0x4aab02
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 8]
cmp eax, dword [edx + 8]
je 0x4aab9e
movzx eax, byte [edx + 8]
movzx ecx, byte [esi + 8]
sub ecx, eax
je 0x4aab30
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 9]
movzx eax, byte [edx + 9]
sub ecx, eax
je 0x4aab52
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0xa]
movzx eax, byte [edx + 0xa]
sub ecx, eax
je 0x4aab74
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0xb]
movzx eax, byte [edx + 0xb]
sub ecx, eax
je 0x4aab96
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 0xc]
cmp eax, dword [edx + 0xc]
je 0x4aac31
movzx ecx, al
movzx eax, byte [edx + 0xc]
sub ecx, eax
je 0x4aabc3
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0xd]
movzx eax, byte [edx + 0xd]
sub ecx, eax
je 0x4aabe5
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0xe]
movzx eax, byte [edx + 0xe]
sub ecx, eax
je 0x4aac07
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0xf]
movzx eax, byte [edx + 0xf]
sub ecx, eax
je 0x4aac29
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 0x10]
cmp eax, dword [edx + 0x10]
je 0x4aacc4
movzx ecx, al
movzx eax, byte [edx + 0x10]
sub ecx, eax
je 0x4aac56
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x11]
movzx eax, byte [edx + 0x11]
sub ecx, eax
je 0x4aac78
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x12]
movzx eax, byte [edx + 0x12]
sub ecx, eax
je 0x4aac9a
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x13]
movzx eax, byte [edx + 0x13]
sub ecx, eax
je 0x4aacbc
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x14]
je 0x4aad57
movzx ecx, al
movzx eax, byte [edx + 0x14]
sub ecx, eax
je 0x4aace9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x15]
movzx eax, byte [edx + 0x15]
sub ecx, eax
je 0x4aad0b
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x16]
movzx eax, byte [edx + 0x16]
sub ecx, eax
je 0x4aad2d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x17]
movzx eax, byte [edx + 0x17]
sub ecx, eax
je 0x4aad4f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 0x18]
cmp eax, dword [edx + 0x18]
je 0x4aadea
movzx ecx, al
movzx eax, byte [edx + 0x18]
sub ecx, eax
je 0x4aad7c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x19]
movzx eax, byte [edx + 0x19]
sub ecx, eax
je 0x4aad9e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x1a]
movzx eax, byte [edx + 0x1a]
sub ecx, eax
je 0x4aadc0
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [edx + 0x1b]
sub ecx, eax
je 0x4aade2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi + 0x1c]
cmp eax, dword [edx + 0x1c]
je 0x4aae7d
movzx ecx, al
movzx eax, byte [edx + 0x1c]
sub ecx, eax
je 0x4aae0f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x1d]
movzx eax, byte [edx + 0x1d]
sub ecx, eax
je 0x4aae31
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x1e]
movzx eax, byte [edx + 0x1e]
sub ecx, eax
je 0x4aae53
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi + 0x1f]
movzx eax, byte [edx + 0x1f]
sub ecx, eax
je 0x4aae75
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
add esi, ebx
add edx, ebx
sub edi, ebx
cmp edi, ebx
jae case.default.0x4aae8f
add esi, edi
add edx, edi
jmp dword [edi*4 + 0x4abf9c]
mov eax, dword [esi - 0x1c]
cmp eax, dword [edx - 0x1c]
je case.0x4aae8f.24
movzx ecx, al
movzx eax, byte [edx - 0x1c]
sub ecx, eax
je 0x4aaebb
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1b]
movzx eax, byte [edx - 0x1b]
sub ecx, eax
je 0x4aaedd
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1a]
movzx eax, byte [edx - 0x1a]
sub ecx, eax
je 0x4aaeff
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub ecx, eax
je 0x4aaf21
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x18]
cmp eax, dword [edx - 0x18]
je case.0x4aae8f.20
movzx ecx, al
movzx eax, byte [edx - 0x18]
sub ecx, eax
je 0x4aaf4e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x17]
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x4aaf70
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x16]
movzx eax, byte [edx - 0x16]
sub ecx, eax
je 0x4aaf92
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub ecx, eax
je 0x4aafb4
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x14]
cmp eax, dword [edx - 0x14]
je case.0x4aae8f.16
movzx ecx, al
movzx eax, byte [edx - 0x14]
sub ecx, eax
je 0x4aafe1
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub ecx, eax
je 0x4ab003
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test dword [ebx + 0x31], edx
ror byte [ebx + 0x3108244c], 0xdb
jmp 0x4ab01c
test dx, dx
je 0x4ab034
add eax, 1
movzx edx, word [ecx + eax*2]
cmp dx, 0x5c
jne 0x4ab014
mov ebx, eax
jmp 0x4ab019
lea eax, [ecx + ebx*2 + 2]
pop ebx
ret
adc al, 0x8d
je 0x4ab079
add byte [ebx - 0x7c99fe40], al
cmp al, 0x42
add byte [ebp - 0xa], dh
ret
mov ebx, dword [esp + 0xc]
movzx eax, byte [ecx]
cmp al, byte [ebx]
jne 0x4ab0a4
test al, al
je 0x4ab0a8
xor eax, eax
jmp 0x4ab098
test dl, dl
je 0x4ab0a8
add eax, 1
movzx edx, byte [ecx + eax]
cmp dl, byte [ebx + eax]
je 0x4ab094
xor eax, eax
pop ebx
ret
mov eax, 1
pop ebx
ret
mov dword [esp], eax
movzx edi, byte [edi]
mov ebx, edi
mov edi, dword [esp + 0x1c]
lea esi, [esi]
mov eax, dword [esp]
mov eax, dword [eax + esi*4]
cmp byte [edi + eax], bl
jne 0x4ab125
test bl, bl
je 0x4ab138
lea edx, [edi + eax + 1]
mov eax, dword [esp + 0x20]
add eax, 1
jmp 0x4ab11e
add edx, 1
add eax, 1
test cl, cl
je 0x4ab138
movzx ecx, byte [edx]
cmp cl, byte [eax]
je 0x4ab114
add esi, 1
cmp esi, dword [esp + 4]
jne 0x4ab0f4
add esp, 8
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [edi + esi*2]
add eax, dword [ebp + 0x24]
mov ebx, edi
movzx eax, word [eax]
lea eax, [edi + eax*4]
add eax, dword [ebp + 0x1c]
add ebx, dword [eax]
add esp, 8
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
inc esp
and al, 4
lea ecx, [eax - 0x41]
lea edx, [eax + 0x20]
cmp cx, 0x1a
cmovb eax, edx
ret
mov esi, dword [esp + 0x14]
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0xc]
mov edi, dword [esp + 0x18]
add ebx, 0xc
lea esi, [esi]
nop
mov ebx, dword [ebx]
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x4ab224
test edi, edi
je 0x4ab233
mov dword [edi], eax
test esi, esi
je 0x4ab268
mov edx, dword [ebx + 0x30]
movzx eax, word [edx]
test ax, ax
je 0x4ab224
add edx, 2
xor ecx, ecx
lea ebp, [eax - 0x41]
cmp bp, 0x19
ja 0x4ab256
add eax, 0x20
movzx eax, ax
add edx, 2
add ecx, eax
movzx eax, word [edx - 2]
test ax, ax
jne 0x4ab247
cmp esi, ecx
jne 0x4ab224
mov eax, dword [ebx + 0x18]
pop ebx
pop esi
pop edi
pop ebp
ret
inc eax
sbb bh, al
inc esp
and al, 4
add byte [eax], al
add byte [eax], al
add bh, al
inc esp
and al, 0x2c
add byte [eax], al
add byte [eax], al
mov eax, dword [esi - 0xd]
cmp eax, dword [edx - 0xd]
je case.0x4aae8f.9
movzx ecx, al
movzx eax, byte [edx - 0xd]
sub ecx, eax
je 0x4ab4f3
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub ecx, eax
je 0x4ab515
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x4ab537
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xa]
movzx eax, byte [edx - 0xa]
sub ecx, eax
je 0x4ab559
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 9]
cmp eax, dword [edx - 9]
je case.0x4aae8f.5
movzx ecx, al
movzx eax, byte [edx - 9]
sub ecx, eax
je 0x4ab586
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 8]
movzx eax, byte [edx - 8]
sub ecx, eax
je 0x4ab5a8
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 7]
movzx eax, byte [edx - 7]
sub ecx, eax
je 0x4ab5ca
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 6]
movzx eax, byte [edx - 6]
sub ecx, eax
je 0x4ab5ec
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 5]
cmp eax, dword [edx - 5]
je case.0x4aae8f.1
movzx eax, byte [edx - 5]
movzx ecx, byte [esi - 5]
sub ecx, eax
je 0x4ab61a
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx eax, byte [edx - 4]
movzx ecx, byte [esi - 4]
sub ecx, eax
je 0x4ab63c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx eax, byte [edx - 3]
movzx ecx, byte [esi - 3]
sub ecx, eax
je 0x4ab65e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx eax, byte [edx - 2]
movzx ecx, byte [esi - 2]
sub ecx, eax
je 0x4ab680
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx eax, byte [edx - 1]
movzx ecx, byte [esi - 1]
sub ecx, eax
je 0x4ab289
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x4ab289
mov eax, dword [esi - 0x1e]
cmp eax, dword [edx - 0x1e]
je case.0x4aae8f.26
movzx ecx, al
movzx eax, byte [edx - 0x1e]
sub ecx, eax
je 0x4ab6d0
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1d]
movzx eax, byte [edx - 0x1d]
sub ecx, eax
je 0x4ab6f2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1c]
movzx eax, byte [edx - 0x1c]
sub ecx, eax
je 0x4ab714
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1b]
movzx eax, byte [edx - 0x1b]
sub ecx, eax
je 0x4ab736
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x1a]
cmp eax, dword [edx - 0x1a]
je case.0x4aae8f.22
movzx ecx, al
movzx eax, byte [edx - 0x1a]
sub ecx, eax
je 0x4ab763
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub ecx, eax
je 0x4ab785
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub ecx, eax
je 0x4ab7a7
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x17]
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x4ab7c9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x16]
cmp eax, dword [edx - 0x16]
je case.0x4aae8f.18
movzx ecx, al
movzx eax, byte [edx - 0x16]
sub ecx, eax
je 0x4ab7f6
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub ecx, eax
je 0x4ab818
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub ecx, eax
je 0x4ab83a
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub ecx, eax
je 0x4ab85c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x12]
cmp eax, dword [edx - 0x12]
je case.0x4aae8f.14
movzx ecx, al
movzx eax, byte [edx - 0x12]
sub ecx, eax
je 0x4ab889
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub ecx, eax
je 0x4ab8ab
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub ecx, eax
je 0x4ab8cd
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub ecx, eax
je 0x4ab8ef
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0xe]
cmp eax, dword [edx - 0xe]
je case.0x4aae8f.10
movzx ecx, al
movzx eax, byte [edx - 0xe]
sub ecx, eax
je 0x4ab91c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub ecx, eax
je 0x4ab93e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub ecx, eax
je 0x4ab960
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x4ab982
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0xa]
cmp eax, dword [edx - 0xa]
je case.0x4aae8f.6
movzx eax, byte [edx - 0xa]
movzx ecx, byte [esi - 0xa]
sub ecx, eax
je 0x4ab9b0
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 9]
movzx eax, byte [edx - 9]
sub ecx, eax
je 0x4ab9d2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 8]
movzx eax, byte [edx - 8]
sub ecx, eax
je 0x4ab9f4
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 7]
movzx eax, byte [edx - 7]
sub ecx, eax
je 0x4aba16
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 6]
cmp eax, dword [edx - 6]
je case.0x4aae8f.2
movzx ecx, al
movzx eax, byte [edx - 6]
sub ecx, eax
je 0x4aba43
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 5]
movzx eax, byte [edx - 5]
sub ecx, eax
je 0x4aba65
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 4]
movzx eax, byte [edx - 4]
sub ecx, eax
je 0x4aba87
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 3]
movzx eax, byte [edx - 3]
sub ecx, eax
je 0x4abaa9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov ax, word [esi - 2]
cmp ax, word [edx - 2]
je case.0x4aae8f.0
jmp 0x4ab666
mov eax, dword [esi - 0x1f]
cmp eax, dword [edx - 0x1f]
je case.0x4aae8f.27
movzx ecx, al
movzx eax, byte [edx - 0x1f]
sub ecx, eax
je 0x4abae9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1e]
movzx eax, byte [edx - 0x1e]
sub ecx, eax
je 0x4abb0b
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1d]
movzx eax, byte [edx - 0x1d]
sub ecx, eax
je 0x4abb2d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1c]
movzx eax, byte [edx - 0x1c]
sub ecx, eax
je 0x4abb4f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x1b]
cmp eax, dword [edx - 0x1b]
je case.0x4aae8f.23
movzx ecx, al
movzx eax, byte [edx - 0x1b]
sub ecx, eax
je 0x4abb7c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x1a]
movzx eax, byte [edx - 0x1a]
sub ecx, eax
je 0x4abb9e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub ecx, eax
je 0x4abbc0
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub ecx, eax
je 0x4abbe2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x17]
cmp eax, dword [edx - 0x17]
je case.0x4aae8f.19
movzx ecx, al
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x4abc0f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x16]
movzx eax, byte [edx - 0x16]
sub ecx, eax
je 0x4abc31
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub ecx, eax
je 0x4abc53
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub ecx, eax
je 0x4abc75
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0x13]
cmp eax, dword [edx - 0x13]
je case.0x4aae8f.15
movzx eax, byte [edx - 0x13]
movzx ecx, byte [esi - 0x13]
sub ecx, eax
je 0x4abca3
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x12]
movzx eax, byte [edx - 0x12]
sub ecx, eax
je 0x4abcc5
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub ecx, eax
je 0x4abce7
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub ecx, eax
je 0x4abd09
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0xf]
cmp eax, dword [edx - 0xf]
je case.0x4aae8f.11
movzx ecx, al
movzx eax, byte [edx - 0xf]
sub ecx, eax
je 0x4abd36
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xe]
movzx eax, byte [edx - 0xe]
sub ecx, eax
je 0x4abd58
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub ecx, eax
je 0x4abd7a
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub ecx, eax
je 0x4abd9c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 0xb]
cmp eax, dword [edx - 0xb]
je case.0x4aae8f.7
movzx ecx, al
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x4abdc9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 0xa]
movzx eax, byte [edx - 0xa]
sub ecx, eax
je 0x4abdeb
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 9]
movzx eax, byte [edx - 9]
sub ecx, eax
je 0x4abe0d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 8]
movzx eax, byte [edx - 8]
sub ecx, eax
je 0x4abe2f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
mov eax, dword [esi - 7]
cmp eax, dword [edx - 7]
je case.0x4aae8f.3
movzx eax, byte [edx - 7]
movzx ecx, byte [esi - 7]
sub ecx, eax
je 0x4abe5d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
movzx ecx, byte [esi - 6]
movzx eax, byte [edx - 6]
sub ecx, eax
je 0x4abe7f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4ab289
jmp 0x4ab600
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx ecx, byte [edx]
movzx eax, byte [esi]
sub ecx, eax
je 0x4abeaa
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4abf04
movzx ecx, byte [edx + 1]
movzx eax, byte [esi + 1]
sub ecx, eax
je 0x4abec8
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4abf04
movzx ecx, byte [edx + 2]
movzx eax, byte [esi + 2]
sub ecx, eax
je 0x4abee6
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4abf04
movzx ecx, byte [edx + 3]
movzx eax, byte [esi + 3]
sub ecx, eax
je 0x4abf04
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
mov eax, ecx
jmp 0x4abf97
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx ecx, byte [edx]
movzx eax, byte [esi]
sub ecx, eax
je 0x4abf29
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4abf04
movzx ecx, byte [edx + 1]
movzx eax, byte [esi + 1]
sub ecx, eax
je 0x4abf47
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4abf04
movzx ecx, byte [edx + 2]
movzx eax, byte [esi + 2]
jmp 0x4abef2
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx ecx, byte [edx]
movzx eax, byte [esi]
sub ecx, eax
je 0x4abf73
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
test ecx, ecx
jne 0x4abf04
movzx ecx, byte [edx + 1]
movzx eax, byte [esi + 1]
jmp 0x4abef2
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x4abef2
xor eax, eax
pop edi
pop esi
pop ebp
ret