Function at 0x404f00
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x43bc4d
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x45302c]
xor eax, esp
mov dword [esp + 0x154], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45302c]
xor eax, esp
push eax
lea eax, [esp + 0x16c]
mov dword fs:[0], eax
mov edi, dword [esp + 0x17c]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push edi
mov esi, ecx
mov eax, dword [esi + 0x20]
push 0x1013
push eax
call ebx
test eax, eax
jne 0x404f7a
push edi
mov ecx, esi
call fcn.00404bc0
mov ecx, dword [esi + 0x20]
push 1
push edi
push 0x1013
push ecx
call ebx
test eax, eax
je 0x4051ae
mov ecx, esi
call fcn.00402150
mov ebp, dword [esp + 0x180]
cmp ebp, eax
jge 0x4051ae
mov edx, dword [esi + 0x20]
push 0
push ebp
push 0x101d
push edx
call ebx
cmp eax, 5
jl 0x4051ae
push edi
mov ecx, esi
call fcn.0041a2bc
test eax, eax
je 0x4051ae
lea ecx, [ebp + ebp*2]
cmp byte [eax + ecx*8 + 0x11], 0
lea eax, [eax + ecx*8 + 0x11]
mov dword [esp + 0x2c], eax
je 0x4051ae
xor ebx, ebx
xor edi, edi
test ebp, ebp
jle 0x404ff1
mov edx, dword [esi + 0x20]
push 0
push edi
push 0x101d
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
add edi, 1
add ebx, eax
cmp edi, ebp
jl 0x404fd6
mov edi, dword [esp + 0x17c]
push 0
lea eax, [esp + 0x1c]
push eax
push edi
mov ecx, esi
call fcn.0041a21d
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x38]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x18]
lea ecx, [eax + ebx]
test ecx, ecx
jl 0x405031
cmp ecx, dword [esp + 0x40]
jle 0x405052
test ecx, ecx
jle 0x405031
sub eax, ebx
mov edi, eax
jmp 0x405035
mov edi, ebx
sub edi, eax
mov eax, dword [esi + 0x20]
push 0
push edi
push 0x1014
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
sub dword [esp + 0x18], edi
mov edi, dword [esp + 0x17c]
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x48]
push ecx
push ebp
push 0x1019
push edx
mov dword [esp + 0x58], 1
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x4c]
and eax, 3
jne 0x40507e
mov dword [esp + 0x14], eax
jmp 0x40508c
sub eax, 1
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x20]
add dword [esp + 0x18], ebx
push 0
push ebp
push 0x101d
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x18]
add eax, ecx
mov ecx, dword [esp + 0x40]
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x4050b8
mov dword [esp + 0x20], ecx
push ebp
push edi
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.0041a7c6
mov eax, dword [eax]
push 0x441481
push eax
call fcn.00424326
add esp, 8
test eax, eax
mov eax, dword [esp + 0x28]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4050fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x405104
add dword [esp + 0x18], 0x19
sub dword [esp + 0x24], 1
or dword [esp + 0x14], 0x50000080
push 0x68
call fcn.00413113
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], ebx
test ebx, ebx
mov dword [esp + 0x174], 0
je 0x40514f
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push ebp
push edi
push ecx
mov ecx, esi
call fcn.0041a7c6
push ebp
push edi
push esi
mov ecx, ebx
call fcn.00403c80
mov ebx, eax
jmp 0x405151
xor ebx, ebx
mov eax, dword [esp + 0x14]
push 0x3e9
push esi
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x184], 0xffffffff
call fcn.0041920c
mov ecx, dword [esp + 0x2c]
movsx edx, byte [ecx]
mov eax, dword [ebx + 0x20]
push 0
push edx
push 0xc5
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push ebx
lea ecx, [esp + 0x6c]
push str.New_Edit__08X_n
push ecx
call fcn.00424536
add esp, 0xc
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov al, 1
jmp 0x4051b0
xor al, al
mov ecx, dword [esp + 0x16c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x154]
xor ecx, esp
call fcn.00424179
add esp, 0x164
ret 8