Function at 0x51e71286
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
xor edi, edi
cmp eax, edi
jne 0x51e712b3
mov esi, dword [ebp + 0x14]
push esi
push 1
push 0x51e357bc
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov dword [esi], edi
jmp 0x51e71550
cmp dword [0x51e85cbc], edi
jne 0x51e714f2
lea ebx, [eax + eax]
push 2
push ebx
call fcn.51e774f5
cmp eax, edi
lea ecx, [eax + ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
jne 0x51e712e1
xor eax, eax
jmp 0x51e71550
mov esi, dword [ebp + 0xc]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.GDI32.dll_GetTextCharsetInfo]
xor edi, edi
cmp dword [0x51e8b564], edi
jne 0x51e7130e
cmp dword [0x51e8c338], edi
je 0x51e71342
push edi
push edi
push dword [ebp + 8]
call esi
cmp eax, 0xcc
je 0x51e7135d
cmp eax, 0xa1
je 0x51e7135d
cmp eax, 0xa2
je 0x51e7135d
cmp eax, 0xba
je 0x51e7135d
cmp eax, 0xb2
je 0x51e7135d
cmp eax, 0xb1
je 0x51e7135d
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
jae 0x51e7135d
cmp word [ecx], 0xb7
jne 0x51e71356
mov word [ecx], 0x2219
inc ecx
inc ecx
cmp ecx, dword [ebp - 8]
jb 0x51e7134a
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call fcn.51e6f0cf
test eax, eax
pop ecx
je 0x51e71483
push 2
push ebx
call fcn.51e774f5
cmp eax, edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edi
jne 0x51e71393
push dword [ebp - 4]
call fcn.51e77526
mov eax, edi
jmp 0x51e71550
push edi
push edi
push dword [ebp + 8]
call esi
push eax
call fcn.51e6d104
lea ecx, [ebp - 0x10]
push ecx
push ebx
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
push dword [ebp + 0x10]
push ebx
push eax
call fcn.51e744c4
cmp dword [ebp - 0x10], edi
je 0x51e71466
cmp dword [0x51e8b564], edi
push 0x58
pop esi
mov dword [ebp + 0xc], esi
jne 0x51e713d4
cmp dword [0x51e8c338], edi
je 0x51e713f0
cmp dword [0x51eb7a64], edi
jne 0x51e713f8
push dword [ebp + 0x14]
lea eax, [ebp + 0xc]
push 1
push eax
push dword [ebp + 8]
call dword [0x51eb7944]
jmp 0x51e71428
cmp dword [0x51eb7a64], edi
je 0x51e71416
cmp dword [0x51eb794c], edi
je 0x51e71416
push dword [ebp + 0x14]
lea eax, [ebp + 0xc]
push 1
push eax
push dword [ebp + 8]
call fcn.51e70f9d
add esp, 0x10
jmp 0x51e71428
push dword [ebp + 0x14]
lea eax, [ebp + 0xc]
push 1
push eax
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp eax, edi
mov dword [ebp + 0x10], eax
je 0x51e71479
lea eax, [ebp - 0x18]
push eax
push esi
push esi
push dword [ebp + 8]
call fcn.51e05110
xor esi, esi
jmp 0x51e71457
movzx eax, word [ebx]
lea ecx, [ebp - 0x14]
push ecx
push eax
push eax
push dword [ebp + 8]
call fcn.51e05110
add esi, dword [ebp - 0x14]
inc ebx
inc ebx
cmp ebx, dword [ebp - 8]
jb 0x51e71441
sub esi, dword [ebp - 0x18]
mov eax, dword [ebp + 0x14]
add dword [eax], esi
jmp 0x51e71479
push dword [ebp + 0x14]
push eax
push dword [ebp - 0xc]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov dword [ebp + 0x10], eax
push dword [ebp - 0xc]
call fcn.51e77526
jmp 0x51e714ea
cmp dword [0x51e8b564], edi
jne 0x51e71493
cmp dword [0x51e8c338], edi
je 0x51e714af
cmp dword [0x51eb7a64], edi
jne 0x51e714b7
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push dword [ebp + 8]
call dword [0x51eb7944]
jmp 0x51e714e7
cmp dword [0x51eb7a64], edi
je 0x51e714d5
cmp dword [0x51eb794c], edi
je 0x51e714d5
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.51e70f9d
add esp, 0x10
jmp 0x51e714e7
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov dword [ebp + 0x10], eax
mov edi, dword [ebp + 0x10]
jmp 0x51e71384
cmp dword [0x51e8b564], edi
jne 0x51e71502
cmp dword [0x51e8c338], edi
je 0x51e7151c
cmp dword [0x51eb7a64], edi
jne 0x51e71524
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [0x51eb7944]
jmp 0x51e71550
cmp dword [0x51eb7a64], edi
je 0x51e71540
cmp dword [0x51eb794c], edi
je 0x51e71540
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.51e70f9d
add esp, 0x10
jmp 0x51e71550
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
pop edi
pop esi
pop ebx
leave
ret 0x10