Function at 0x516581
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 0x10]
mov eax, edi
sub eax, 0
je 0x51710c
dec eax
je 0x5170fb
dec eax
je 0x5170cf
dec eax
je 0x51708b
dec eax
je 0x51700a
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push ebx
push 0x20
pop edx
jmp 0x5160b2
mov esi, dword [eax]
cmp esi, dword [ecx]
je 0x515cfa
movzx esi, byte [eax]
movzx ebx, byte [ecx]
sub esi, ebx
je 0x515ca3
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 1]
movzx ebx, byte [ecx + 1]
sub esi, ebx
je 0x515cc2
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 2]
movzx ebx, byte [ecx + 2]
sub esi, ebx
je 0x515ce1
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 3]
movzx ebx, byte [ecx + 3]
sub esi, ebx
je 0x515cfc
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x515cfc
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 4]
cmp esi, dword [ecx + 4]
je 0x515d82
movzx esi, byte [eax + 4]
movzx ebx, byte [ecx + 4]
sub esi, ebx
je 0x515d2b
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 5]
movzx ebx, byte [ecx + 5]
sub esi, ebx
je 0x515d4a
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 6]
movzx ebx, byte [ecx + 6]
sub esi, ebx
je 0x515d69
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 7]
movzx ebx, byte [ecx + 7]
sub esi, ebx
je 0x515d84
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x515d84
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 8]
cmp esi, dword [ecx + 8]
je 0x515e0a
movzx esi, byte [eax + 8]
movzx ebx, byte [ecx + 8]
sub esi, ebx
je 0x515db3
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 9]
movzx ebx, byte [ecx + 9]
sub esi, ebx
je 0x515dd2
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0xa]
movzx ebx, byte [ecx + 0xa]
sub esi, ebx
je 0x515df1
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0xb]
movzx ebx, byte [ecx + 0xb]
sub esi, ebx
je 0x515e0c
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x515e0c
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 0xc]
cmp esi, dword [ecx + 0xc]
je 0x515e92
movzx esi, byte [eax + 0xc]
movzx ebx, byte [ecx + 0xc]
sub esi, ebx
je 0x515e3b
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0xd]
movzx ebx, byte [ecx + 0xd]
sub esi, ebx
je 0x515e5a
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0xe]
movzx ebx, byte [ecx + 0xe]
sub esi, ebx
je 0x515e79
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0xf]
movzx ebx, byte [ecx + 0xf]
sub esi, ebx
je 0x515e94
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x515e94
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 0x10]
cmp esi, dword [ecx + 0x10]
je 0x515f1a
movzx ebx, byte [ecx + 0x10]
movzx esi, byte [eax + 0x10]
sub esi, ebx
je 0x515ec3
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x11]
movzx ebx, byte [ecx + 0x11]
sub esi, ebx
je 0x515ee2
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x12]
movzx ebx, byte [ecx + 0x12]
sub esi, ebx
je 0x515f01
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x13]
movzx ebx, byte [ecx + 0x13]
sub esi, ebx
je 0x515f1c
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x515f1c
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 0x14]
cmp esi, dword [ecx + 0x14]
je 0x515fa2
movzx esi, byte [eax + 0x14]
movzx ebx, byte [ecx + 0x14]
sub esi, ebx
je 0x515f4b
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x15]
movzx ebx, byte [ecx + 0x15]
sub esi, ebx
je 0x515f6a
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x16]
movzx ebx, byte [ecx + 0x16]
sub esi, ebx
je 0x515f89
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x17]
movzx ebx, byte [ecx + 0x17]
sub esi, ebx
je 0x515fa4
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x515fa4
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 0x18]
cmp esi, dword [ecx + 0x18]
je 0x51602a
movzx esi, byte [eax + 0x18]
movzx ebx, byte [ecx + 0x18]
sub esi, ebx
je 0x515fd3
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x19]
movzx ebx, byte [ecx + 0x19]
sub esi, ebx
je 0x515ff2
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x1a]
movzx ebx, byte [ecx + 0x1a]
sub esi, ebx
je 0x516011
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x1b]
movzx ebx, byte [ecx + 0x1b]
sub esi, ebx
je 0x51602c
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x51602c
xor esi, esi
test esi, esi
jne fcn.005160ce
mov esi, dword [eax + 0x1c]
cmp esi, dword [ecx + 0x1c]
je 0x5160a6
movzx esi, byte [eax + 0x1c]
movzx ebx, byte [ecx + 0x1c]
sub esi, ebx
je 0x516057
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x1d]
movzx ebx, byte [ecx + 0x1d]
sub esi, ebx
je 0x516072
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x1e]
movzx ebx, byte [ecx + 0x1e]
sub esi, ebx
je 0x51608d
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax + 0x1f]
movzx ebx, byte [ecx + 0x1f]
sub esi, ebx
je 0x5160a8
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x5160a8
xor esi, esi
test esi, esi
jne fcn.005160ce
add eax, edx
add ecx, edx
sub edi, edx
cmp edi, edx
jae 0x515c80
add eax, edi
add ecx, edi
cmp edi, 0x1f
ja case.0x5160c7.0
jmp dword [edi*4 + 0x517114]
add byte [eax], al
add byte [ebx - 0x3f7cf3be], cl
or al, 0x8b
add byte [ebx + 0x74003078], al
clc
sal byte [ebp - 0x3e], 0xf
pop ds
inc esp
add byte [eax], al
inc byte [ebp + 0x30b74c9]
ror dword [edi], 1
mov bh, 0x4c
test dword [eax], eax
js 0x5161e7
inc esp
sbb dword [eax], esp
invalid
mov edx, dword [eax - 4]
cmp edx, dword [ecx - 4]
je 0x516465
movzx esi, dl
movzx edx, byte [ecx - 4]
sub esi, edx
je 0x516412
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
test edx, edx
jne 0x516448
movzx esi, byte [eax - 3]
movzx edx, byte [ecx - 3]
sub esi, edx
je 0x51642d
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
test edx, edx
jne 0x516448
movzx esi, byte [eax - 2]
movzx edx, byte [ecx - 2]
sub esi, edx
je 0x51644c
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
test edx, edx
je 0x51644c
mov eax, edx
jmp 0x516467
movzx eax, byte [eax - 1]
movzx ecx, byte [ecx - 1]
sub eax, ecx
je 0x516467
xor ecx, ecx
test eax, eax
setg cl
lea eax, [ecx + ecx - 1]
jmp 0x516467
xor eax, eax
test eax, eax
jne 0x51646d
xor eax, eax
pop ebx
jmp 0x51710e
mov edx, dword [eax - 0x1d]
cmp edx, dword [ecx - 0x1d]
je 0x5164f0
movzx esi, dl
movzx edx, byte [ecx - 0x1d]
sub esi, edx
je 0x516499
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1c]
movzx edx, byte [ecx - 0x1c]
sub esi, edx
je 0x5164b8
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1b]
movzx edx, byte [ecx - 0x1b]
sub esi, edx
je 0x5164d7
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1a]
movzx edx, byte [ecx - 0x1a]
sub esi, edx
je 0x5164f2
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x5164f2
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x19]
cmp edx, dword [ecx - 0x19]
je 0x516577
movzx esi, dl
movzx edx, byte [ecx - 0x19]
sub esi, edx
je 0x516520
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x18]
movzx edx, byte [ecx - 0x18]
sub esi, edx
je 0x51653f
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x17]
movzx edx, byte [ecx - 0x17]
sub esi, edx
je 0x51655e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x16]
movzx edx, byte [ecx - 0x16]
sub esi, edx
je 0x516579
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516579
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x15]
cmp edx, dword [ecx - 0x15]
je 0x5165fe
movzx esi, dl
movzx edx, byte [ecx - 0x15]
sub esi, edx
je 0x5165a7
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x14]
movzx edx, byte [ecx - 0x14]
sub esi, edx
je 0x5165c6
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x13]
movzx edx, byte [ecx - 0x13]
sub esi, edx
je 0x5165e5
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x12]
movzx edx, byte [ecx - 0x12]
sub esi, edx
je 0x516600
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516600
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x11]
cmp edx, dword [ecx - 0x11]
je 0x516685
movzx esi, dl
movzx edx, byte [ecx - 0x11]
sub esi, edx
je 0x51662e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x10]
movzx edx, byte [ecx - 0x10]
sub esi, edx
je 0x51664d
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xf]
movzx edx, byte [ecx - 0xf]
sub esi, edx
je 0x51666c
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xe]
movzx edx, byte [ecx - 0xe]
sub esi, edx
je 0x516687
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516687
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0xd]
cmp edx, dword [ecx - 0xd]
je 0x51670c
movzx esi, dl
movzx edx, byte [ecx - 0xd]
sub esi, edx
je 0x5166b5
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xc]
movzx edx, byte [ecx - 0xc]
sub esi, edx
je 0x5166d4
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xb]
movzx edx, byte [ecx - 0xb]
sub esi, edx
je 0x5166f3
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xa]
movzx edx, byte [ecx - 0xa]
sub esi, edx
je 0x51670e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x51670e
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 9]
cmp edx, dword [ecx - 9]
je 0x516794
movzx edx, byte [ecx - 9]
movzx esi, byte [eax - 9]
sub esi, edx
je 0x51673d
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 8]
movzx edx, byte [ecx - 8]
sub esi, edx
je 0x51675c
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 7]
movzx edx, byte [ecx - 7]
sub esi, edx
je 0x51677b
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 6]
movzx edx, byte [ecx - 6]
sub esi, edx
je 0x516796
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516796
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 5]
cmp edx, dword [ecx - 5]
je 0x51681b
movzx esi, dl
movzx edx, byte [ecx - 5]
sub esi, edx
je 0x5167c4
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 4]
movzx edx, byte [ecx - 4]
sub esi, edx
je 0x5167e3
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 3]
movzx edx, byte [ecx - 3]
sub esi, edx
je 0x516802
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 2]
movzx edx, byte [ecx - 2]
sub esi, edx
je 0x51681d
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x51681d
xor esi, esi
test esi, esi
jne fcn.005160ce
movzx ecx, byte [ecx - 1]
movzx eax, byte [eax - 1]
sub eax, ecx
je 0x51646d
xor ecx, ecx
test eax, eax
setg cl
lea eax, [ecx + ecx - 1]
jmp 0x51646d
mov edx, dword [eax - 0x1e]
cmp edx, dword [ecx - 0x1e]
je 0x5168c2
movzx esi, dl
movzx edx, byte [ecx - 0x1e]
sub esi, edx
je 0x51686b
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1d]
movzx edx, byte [ecx - 0x1d]
sub esi, edx
je 0x51688a
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1c]
movzx edx, byte [ecx - 0x1c]
sub esi, edx
je 0x5168a9
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1b]
movzx edx, byte [ecx - 0x1b]
sub esi, edx
je 0x5168c4
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x5168c4
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x1a]
cmp edx, dword [ecx - 0x1a]
je 0x516949
movzx esi, dl
movzx edx, byte [ecx - 0x1a]
sub esi, edx
je 0x5168f2
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x19]
movzx edx, byte [ecx - 0x19]
sub esi, edx
je 0x516911
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x18]
movzx edx, byte [ecx - 0x18]
sub esi, edx
je 0x516930
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x17]
movzx edx, byte [ecx - 0x17]
sub esi, edx
je 0x51694b
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x51694b
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x16]
cmp edx, dword [ecx - 0x16]
je 0x5169d0
movzx esi, dl
movzx edx, byte [ecx - 0x16]
sub esi, edx
je 0x516979
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x15]
movzx edx, byte [ecx - 0x15]
sub esi, edx
je 0x516998
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x14]
movzx edx, byte [ecx - 0x14]
sub esi, edx
je 0x5169b7
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x13]
movzx edx, byte [ecx - 0x13]
sub esi, edx
je 0x5169d2
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x5169d2
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x12]
cmp edx, dword [ecx - 0x12]
je 0x516a57
movzx esi, dl
movzx edx, byte [ecx - 0x12]
sub esi, edx
je 0x516a00
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x11]
movzx edx, byte [ecx - 0x11]
sub esi, edx
je 0x516a1f
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x10]
movzx edx, byte [ecx - 0x10]
sub esi, edx
je 0x516a3e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xf]
movzx edx, byte [ecx - 0xf]
sub esi, edx
je 0x516a59
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516a59
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0xe]
cmp edx, dword [ecx - 0xe]
je 0x516ade
movzx esi, dl
movzx edx, byte [ecx - 0xe]
sub esi, edx
je 0x516a87
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xd]
movzx edx, byte [ecx - 0xd]
sub esi, edx
je 0x516aa6
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xc]
movzx edx, byte [ecx - 0xc]
sub esi, edx
je 0x516ac5
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xb]
movzx edx, byte [ecx - 0xb]
sub esi, edx
je 0x516ae0
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516ae0
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0xa]
cmp edx, dword [ecx - 0xa]
je 0x516b66
movzx edx, byte [ecx - 0xa]
movzx esi, byte [eax - 0xa]
sub esi, edx
je 0x516b0f
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx edx, byte [ecx - 9]
movzx esi, byte [eax - 9]
sub esi, edx
je 0x516b2e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx edx, byte [ecx - 8]
movzx esi, byte [eax - 8]
sub esi, edx
je 0x516b4d
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx edx, byte [ecx - 7]
movzx esi, byte [eax - 7]
sub esi, edx
je 0x516b68
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516b68
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 6]
cmp edx, dword [ecx - 6]
je 0x516bed
movzx esi, dl
movzx edx, byte [ecx - 6]
sub esi, edx
je 0x516b96
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 5]
movzx edx, byte [ecx - 5]
sub esi, edx
je 0x516bb5
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 4]
movzx edx, byte [ecx - 4]
sub esi, edx
je 0x516bd4
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 3]
movzx edx, byte [ecx - 3]
sub esi, edx
je 0x516bef
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516bef
xor esi, esi
test esi, esi
jne fcn.005160ce
mov dx, word [eax - 2]
cmp dx, word [ecx - 2]
je case.0x5160c7.0
movzx edx, byte [ecx - 2]
movzx esi, byte [eax - 2]
sub esi, edx
je case.0x5160c7.1
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
test edx, edx
jne 0x517003
jmp case.0x5160c7.1
mov edx, dword [eax - 0x1f]
cmp edx, dword [ecx - 0x1f]
je 0x516cab
movzx edx, byte [ecx - 0x1f]
movzx esi, byte [eax - 0x1f]
sub esi, edx
je 0x516c54
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1e]
movzx edx, byte [ecx - 0x1e]
sub esi, edx
je 0x516c73
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1d]
movzx edx, byte [ecx - 0x1d]
sub esi, edx
je 0x516c92
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1c]
movzx edx, byte [ecx - 0x1c]
sub esi, edx
je 0x516cad
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516cad
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x1b]
cmp edx, dword [ecx - 0x1b]
je 0x516d32
movzx esi, dl
movzx edx, byte [ecx - 0x1b]
sub esi, edx
je 0x516cdb
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x1a]
movzx edx, byte [ecx - 0x1a]
sub esi, edx
je 0x516cfa
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x19]
movzx edx, byte [ecx - 0x19]
sub esi, edx
je 0x516d19
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x18]
movzx edx, byte [ecx - 0x18]
sub esi, edx
je 0x516d34
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516d34
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x17]
cmp edx, dword [ecx - 0x17]
je 0x516db9
movzx esi, dl
movzx edx, byte [ecx - 0x17]
sub esi, edx
je 0x516d62
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x16]
movzx edx, byte [ecx - 0x16]
sub esi, edx
je 0x516d81
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x15]
movzx edx, byte [ecx - 0x15]
sub esi, edx
je 0x516da0
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x14]
movzx edx, byte [ecx - 0x14]
sub esi, edx
je 0x516dbb
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516dbb
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0x13]
cmp edx, dword [ecx - 0x13]
je 0x516e40
movzx esi, dl
movzx edx, byte [ecx - 0x13]
sub esi, edx
je 0x516de9
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x12]
movzx edx, byte [ecx - 0x12]
sub esi, edx
je 0x516e08
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x11]
movzx edx, byte [ecx - 0x11]
sub esi, edx
je 0x516e27
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0x10]
movzx edx, byte [ecx - 0x10]
sub esi, edx
je 0x516e42
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516e42
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0xf]
cmp edx, dword [ecx - 0xf]
je 0x516ec8
movzx edx, byte [ecx - 0xf]
movzx esi, byte [eax - 0xf]
sub esi, edx
je 0x516e71
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xe]
movzx edx, byte [ecx - 0xe]
sub esi, edx
je 0x516e90
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xd]
movzx edx, byte [ecx - 0xd]
sub esi, edx
je 0x516eaf
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xc]
movzx edx, byte [ecx - 0xc]
sub esi, edx
je 0x516eca
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516eca
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 0xb]
cmp edx, dword [ecx - 0xb]
je 0x516f4f
movzx esi, dl
movzx edx, byte [ecx - 0xb]
sub esi, edx
je 0x516ef8
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 0xa]
movzx edx, byte [ecx - 0xa]
sub esi, edx
je 0x516f17
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 9]
movzx edx, byte [ecx - 9]
sub esi, edx
je 0x516f36
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 8]
movzx edx, byte [ecx - 8]
sub esi, edx
je 0x516f51
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516f51
xor esi, esi
test esi, esi
jne fcn.005160ce
mov edx, dword [eax - 7]
cmp edx, dword [ecx - 7]
je 0x516fd6
movzx esi, dl
movzx edx, byte [ecx - 7]
sub esi, edx
je 0x516f7f
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 6]
movzx edx, byte [ecx - 6]
sub esi, edx
je 0x516f9e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 5]
movzx edx, byte [ecx - 5]
sub esi, edx
je 0x516fbd
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 4]
movzx edx, byte [ecx - 4]
sub esi, edx
je 0x516fd8
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x516fd8
xor esi, esi
test esi, esi
jne fcn.005160ce
movzx esi, byte [eax - 3]
movzx edx, byte [ecx - 3]
sub esi, edx
je 0x516c05
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
test edx, edx
je 0x516c05
mov eax, edx
jmp 0x51646d
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x51702d
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x51710e
movzx eax, byte [ecx + 1]
movzx edx, byte [esi + 1]
sub eax, edx
je 0x51704c
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x51710e
movzx eax, byte [ecx + 2]
movzx edx, byte [esi + 2]
sub eax, edx
je 0x51706b
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x51710e
movzx eax, byte [ecx + 3]
movzx ecx, byte [esi + 3]
sub eax, ecx
je 0x51710e
xor ecx, ecx
test eax, eax
setg cl
lea eax, [ecx + ecx - 1]
jmp 0x51710e
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x5170aa
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x51710e
movzx eax, byte [ecx + 1]
movzx edx, byte [esi + 1]
sub eax, edx
je 0x5170c5
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x51710e
movzx eax, byte [ecx + 2]
movzx ecx, byte [esi + 2]
jmp 0x517073
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x5170ee
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x51710e
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi + 1]
jmp 0x517073
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx ecx, byte [ecx]
jmp 0x517073
xor eax, eax
pop edi
pop esi
pop ebp
ret