Function at 0x7ed7b1
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov al, byte [ebx]
inc ebx
xor edx, edx
mov dl, al
cmp edx, 6
jg 0x7ed7ee
je 0x7eda43
dec edx
je 0x7ed81c
dec edx
je 0x7ed82a
sub edx, 2
je 0x7ed9c6
dec edx
je 0x7eda1f
jmp 0x7edb18
sub edx, 7
je 0x7eda6c
dec edx
je 0x7eda9b
dec edx
je 0x7edabf
sub edx, 0xf3
je 0x7ed812
jmp 0x7edb18
mov eax, 1
jmp 0x7edb2b
cmp word [ebp + 8], 0
je 0x7ed7c1
xor eax, eax
jmp 0x7edb2b
mov dl, byte [ebx]
push edx
call sub.kernel32.dll_IsDBCSLeadByte
test eax, eax
je 0x7ed83c
mov si, 2
jmp 0x7ed840
mov si, 1
movsx eax, si
add eax, ebx
mov edx, dword [ebp - 4]
mov dword [edx + 0x14], eax
movzx ecx, word [ebp + 8]
movsx eax, si
cmp ecx, eax
jge 0x7ed85d
xor eax, eax
jmp 0x7edb2b
movzx edx, word [ebp + 8]
movsx ecx, si
cmp edx, ecx
jne 0x7ed8c3
mov ecx, dword [ebp - 4]
cmp dword [ecx], 0
je 0x7ed897
cmp si, 1
jne 0x7ed897
push 1
push ebx
push 1
push edi
push 1
mov eax, dword [ebp - 4]
push dword [eax + 4]
call sub.kernel32.dll_CompareStringA
cmp eax, 2
je 0x7ed8b0
xor eax, eax
jmp 0x7edb2b
movsx edx, si
push edx
push ebx
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x7ed8b0
xor eax, eax
jmp 0x7edb2b
movsx edx, si
add ebx, edx
movsx ecx, si
add edi, ecx
sub word [ebp + 8], si
jmp 0x7ed7c1
xor ecx, ecx
mov cl, byte [ebx]
mov word [ebp - 6], cx
mov eax, dword [ebp - 4]
cmp dword [eax], 0
je 0x7ed931
cmp si, 1
jne 0x7ed931
mov dl, byte [ebp - 6]
mov byte [ebp - 0x18], dl
mov byte [ebp - 0x17], 0
mov cl, byte [ebp - 6]
mov byte [ebp - 0x20], cl
mov byte [ebp - 0x1f], 0
lea eax, [ebp - 0x18]
push eax
call sub.user32.dll_CharUpperA
lea edx, [ebp - 0x20]
push edx
call sub.user32.dll_CharLowerA
movzx ecx, word [ebp + 8]
movsx eax, si
sub ecx, eax
inc ecx
xor edx, edx
mov dl, byte [ebp - 0x18]
mov eax, edi
call fcn.007ed66d
test eax, eax
jne 0x7ed946
movzx ecx, word [ebp + 8]
movsx edx, si
sub ecx, edx
inc ecx
xor edx, edx
mov dl, byte [ebp - 0x20]
mov eax, edi
call fcn.007ed66d
jmp 0x7ed946
movzx ecx, word [ebp + 8]
movsx eax, si
sub ecx, eax
inc ecx
mov dx, word [ebp - 6]
mov eax, edi
call fcn.007ed66d
test eax, eax
jne 0x7ed951
xor eax, eax
jmp 0x7edb2b
cmp si, 1
jle 0x7ed974
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 1]
je 0x7ed974
mov ecx, eax
sub ecx, edi
add cx, si
sub word [ebp + 8], cx
movsx edi, si
add edi, eax
jmp 0x7ed8cb
mov edx, eax
sub edx, edi
add dx, si
sub word [ebp + 8], dx
movsx edi, si
add edi, eax
movsx eax, si
add ebx, eax
mov dx, word [ebp + 8]
push edx
mov ecx, edi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.007ed7b1
test eax, eax
je 0x7ed9a8
mov eax, 1
jmp 0x7edb2b
mov edx, dword [ebp - 4]
cmp ebx, dword [edx + 0x14]
je 0x7ed9b7
xor eax, eax
jmp 0x7edb2b
movsx edx, si
sub ebx, edx
jmp 0x7ed8cb
mov cx, word [ebx]
mov word [ebp - 0x22], cx
add ebx, 2
movsx edx, word [ebp - 0x22]
mov eax, edi
call fcn.007ed709
mov esi, eax
test si, si
je 0x7eda0a
movsx eax, si
movzx edx, word [ebp + 8]
cmp eax, edx
jg 0x7eda0a
movsx ecx, si
movzx eax, word [ebp + 8]
cmp ecx, eax
jne 0x7eda11
movsx edx, si
mov eax, edi
call fcn.007ed74b
movsx edx, word [ebp - 0x22]
cmp eax, edx
je 0x7eda11
xor eax, eax
jmp 0x7edb2b
movsx edx, si
add edi, edx
sub word [ebp + 8], si
jmp 0x7ed7c1
movzx ecx, word [ebp + 8]
dec ecx
jl 0x7eda31
movsx ecx, byte [edi]
xor eax, eax
mov al, byte [ebx]
cmp ecx, eax
je 0x7eda38
xor eax, eax
jmp 0x7edb2b
inc ebx
inc edi
dec word [ebp + 8]
jmp 0x7ed7c1
movzx edx, word [ebp + 8]
cmp edx, 2
jl 0x7eda54
mov cx, word [edi]
cmp cx, word [ebx]
je 0x7eda5b
xor eax, eax
jmp 0x7edb2b
add ebx, 2
add edi, 2
add word [ebp + 8], 0xfffe
jmp 0x7ed7c1
movzx edx, word [ebp + 8]
cmp edx, 3
jl 0x7eda83
mov ecx, dword [edi]
shl ecx, 8
mov esi, dword [ebx]
shl esi, 8
cmp ecx, esi
je 0x7eda8a
xor eax, eax
jmp 0x7edb2b
add ebx, 3
add edi, 3
add word [ebp + 8], 0xfffd
jmp 0x7ed7c1
movzx edx, word [ebp + 8]
cmp edx, 4
jl 0x7edaaa
mov ecx, dword [edi]
cmp ecx, dword [ebx]
je 0x7edaae
xor eax, eax
jmp 0x7edb2b
add ebx, 4
add edi, 4
add word [ebp + 8], 0xfffc
jmp 0x7ed7c1
mov si, word [ebx]
add ebx, 2
mov eax, dword [ebp - 4]
cmp dword [eax], 0
je 0x7edaf0
movsx edx, si
push edx
push dword [ebx]
movsx ecx, si
push ecx
push edi
push 1
mov ecx, dword [ebp - 4]
push dword [ecx + 4]
call sub.kernel32.dll_CompareStringA
cmp eax, 2
je 0x7edb07
xor eax, eax
jmp 0x7edb2b
movsx edx, si
push edx
push dword [ebx]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x7edb07
xor eax, eax
jmp 0x7edb2b
add ebx, 4
movsx edx, si
add edi, edx
sub word [ebp + 8], si
jmp 0x7ed7c1
push str.ERROR_in_pattern_match_pcode_r_n
call sub.kernel32.dll_OutputDebugStringA
xor eax, eax
jmp 0x7edb2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4