Function at 0x40ebb0
Capabilities:
Create thread
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x4af480]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
push 8
push esi
mov dword [ebp - 0x98], esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, eax
cmp byte [edi + 0x30], 0
jne 0x40f14b
mov byte [edi + 0x38], 0
lea ebx, [edi + 0x38]
mov byte [edi + 0x13c], 0
push 0x431
push esi
mov dword [edi + 0x33c], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x340], 0
mov dword [edi + 0x348], 0
mov dword [edi + 0x344], 0
mov dword [edi + 0x350], 0
mov dword [edi + 0x354], 0x64
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
mov dword [ebp - 0x94], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
je 0x40ee04
push dword [ebp - 0x94]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
je 0x40ed84
lea esi, [eax + 1]
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047d5a7
add esp, 4
mov dword [ebp - 0x9c], eax
push esi
push eax
push dword [ebp - 0x94]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x88]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [ebp - 0x9c]
mov dword [ebp - 0x8c], 0
push 0
push 0xfde9
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x88], 0
call esi
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x40ed23
lea ecx, [eax + 1]
cmp ecx, 0x80
jbe 0x40ed05
push ecx
call fcn.0047d5a7
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x90], ecx
jmp 0x40ed0b
mov ecx, dword [ebp - 0x90]
push 0
push 0
inc eax
push eax
push ecx
push 0xffffffffffffffff
push dword [ebp - 0x9c]
push 0
push 0xfde9
call esi
mov edx, dword [ebp - 0x90]
mov ecx, 0x104
sub edx, ebx
lea eax, [ecx + 0x7ffffefa]
test eax, eax
je 0x40ed50
mov al, byte [edx + ebx]
test al, al
je 0x40ed4b
mov byte [ebx], al
inc ebx
sub ecx, 1
jne 0x40ed30
jmp 0x40ed4f
test ecx, ecx
jne 0x40ed50
dec ebx
push dword [ebp - 0x9c]
mov byte [ebx], 0
call fcn.00457d90
mov eax, dword [ebp - 0x90]
add esp, 4
test eax, eax
je 0x40ed7e
lea ecx, [ebp - 0x88]
cmp eax, ecx
je 0x40ed7e
push eax
call fcn.00457d90
add esp, 4
mov esi, dword [ebp - 0x98]
push 0x435
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
mov dword [ebp - 0x94], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ebx, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
test eax, eax
je 0x40ee9d
push 0x438
push esi
call ebx
cmp eax, 1
lea eax, [edi + 0x13c]
jne 0x40ee44
push ecx
push eax
mov ecx, esi
call fcn.0040d4c0
add esp, 8
mov dword [edi + 0x33c], eax
test eax, eax
jne 0x40ee3e
push eax
push 0x112
push esi
call fcn.0047ab70
add esp, 0xc
push dword [ebp - 0x94]
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047d33b
mov esp, ebp
pop ebp
ret
mov edx, 0x4a5ae8
mov ecx, 0x104
sub edx, ebx
lea eax, [ecx + 0x7ffffefa]
test eax, eax
je 0x40ee36
mov al, byte [edx + ebx]
test al, al
je 0x40ee31
mov byte [ebx], al
inc ebx
sub ecx, 1
jne 0x40ee10
dec ebx
mov byte [ebx], cl
jmp 0x40ed84
test ecx, ecx
jne 0x40ee36
dec ebx
mov byte [ebx], 0
jmp 0x40ed84
or dword [edi + 0x2c], 4
jmp 0x40ee5c
push 0x200
push eax
push dword [ebp - 0x94]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov dword [edi + 0x33c], eax
cmp dword [edi + 0x34], 0
jne 0x40ee72
push 0x11001
call fcn.0047d5a7
add esp, 4
mov dword [edi + 0x34], eax
push 0x436
push esi
call ebx
cmp eax, 1
jne 0x40ee82
or dword [edi + 0x2c], eax
push 0x437
push esi
call ebx
cmp eax, 1
jne 0x40ee93
or dword [edi + 0x2c], 2
mov dword [edi + 0x354], 1
push 0x433
push esi
call ebx
cmp eax, 1
jne 0x40ef6a
push 0x40b
push esi
call ebx
cmp eax, 1
jne 0x40eec5
or dword [edi + 0x340], 0x100
push 0x40c
push esi
call ebx
cmp eax, 1
jne 0x40eedc
or dword [edi + 0x340], 0x200
push 0x40d
push esi
call ebx
cmp eax, 1
jne 0x40eef3
or dword [edi + 0x340], 0x10000
push 0x40e
push esi
call ebx
cmp eax, 1
jne 0x40ef0a
or dword [edi + 0x340], 0x20000
push 0x40f
push esi
call ebx
cmp eax, 1
jne 0x40ef21
or dword [edi + 0x340], 0x1000000
push 0x410
push esi
call ebx
cmp eax, 1
jne 0x40ef38
or dword [edi + 0x340], 0x2000000
push 0x411
push esi
call ebx
cmp eax, 1
jne 0x40ef4f
or dword [edi + 0x340], 0x4000000
push 0x412
push esi
call ebx
cmp eax, 1
jne 0x40ef66
or dword [edi + 0x340], 0x100000
or dword [edi + 0x2c], 8
push 0x439
push esi
call ebx
cmp eax, 1
jne 0x40f075
push 0
lea eax, [ebp - 0x94]
mov dword [ebp - 0x94], 0
push eax
push 0x43a
push esi
call dword [sym.imp.USER32.dll_GetDlgItemInt]
cmp dword [ebp - 0x94], 0
mov ebx, eax
je 0x40f117
push 0x43c
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0x147
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub eax, 0
je 0x40efdc
sub eax, 1
je 0x40efd9
sub eax, 1
jne 0x40efdc
shl ebx, 0x14
jmp 0x40efdc
shl ebx, 0xa
mov dword [ebp - 0x98], ebx
cmp ebx, 0xffffffff
je 0x40f117
push 0
lea eax, [ebp - 0x94]
mov dword [ebp - 0x94], 0
push eax
push 0x43b
push esi
call dword [sym.imp.USER32.dll_GetDlgItemInt]
cmp dword [ebp - 0x94], 0
mov ebx, eax
je 0x40f0e3
push 0x441
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0x147
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub eax, 0
je 0x40f04c
sub eax, 1
je 0x40f049
sub eax, 1
jne 0x40f04c
shl ebx, 0x14
jmp 0x40f04c
shl ebx, 0xa
cmp ebx, 0xffffffff
je 0x40f0e3
mov ecx, dword [ebp - 0x98]
mov eax, ebx
or dword [edi + 0x2c], 0x10
cmp ecx, ebx
cmovb eax, ecx
cmova ebx, ecx
mov dword [edi + 0x344], eax
mov dword [edi + 0x348], ebx
push 0x4a4b4c
push 0x445
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
push 0x84
push 0
push esi
call fcn.00478b50
add esp, 0x10
mov word [edi + 0x30], 1
lea eax, [ebp - 0xa0]
push eax
push 0
push edi
push 0x40db50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, 1
mov dword [edi + 8], eax
mov ecx, edi
call fcn.0040d310
mov edx, 4
mov ecx, esi
call fcn.0040d3e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047d33b
mov esp, ebp
pop ebp
ret
push 0
push 0x113
push esi
call fcn.0047ab70
add esp, 0xc
push 0x43b
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047d33b
mov esp, ebp
pop ebp
ret
push 0
push 0x113
push esi
call fcn.0047ab70
add esp, 0xc
push 0x43a
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047d33b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov byte [edi + 0x31], 1
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0047d33b
mov esp, ebp
pop ebp
ret