Function at 0x41eec0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d5b7
mov eax, dword fs:[0]
push eax
sub esp, 0x114
mov eax, dword [0x4a3140]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov edi, dword [sym.imp.DuiLib_u.dll_public:_bool___thiscall_DuiLib::CDuiString::operator_wchar_t_const__const]
mov ebx, ecx
push str.windowinit
mov ecx, esi
mov dword [ebp - 0x120], ebx
call edi
test al, al
je 0x41ef20
mov eax, dword [ebx - 0x20]
mov edx, dword [eax + 0x88]
lea ecx, [ebx - 0x20]
push esi
call edx
jmp 0x41f219
push str.click
mov ecx, esi
call edi
test al, al
je 0x41efd3
mov esi, dword [esi + 0x108]
mov eax, dword [esi]
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x118]
push ecx
mov ecx, esi
call edx
push str.btn_winmain_close
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0
call edi
test al, al
je 0x41efa2
call fcn.00422c70
cmp dword [eax + 4], 1
jne 0x41ef7d
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [ebp - 0x118]
jmp 0x41f20c
push 1
push 0
lea ecx, [ebx - 0x20]
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CWindowWnd::ShowWindow_bool__bool_]
push 0x52c898
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
lea ecx, [ebp - 0x118]
jmp 0x41f20c
push str.btn_winmain_min
lea ecx, [ebp - 0x118]
call edi
test al, al
je 0x41efc8
push 0
push 0xf020
push 0x112
lea ecx, [ebx - 0x20]
call dword [sym.imp.DuiLib_u.dll_public:_long_int___thiscall_DuiLib::CWindowWnd::SendMessageW_unsigned_int__unsigned_int__long_int_]
lea ecx, [ebp - 0x118]
jmp 0x41f20c
push str.killfocus
mov ecx, esi
call edi
test al, al
je 0x41f1b6
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x118]
push edx
call eax
mov dword [ebp - 4], 1
mov ebx, dword [sym.imp.DuiLib_u.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
lea ecx, [ebp - 0x118]
call ebx
mov ecx, str.edt_winmain_city
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x41f038
test dx, dx
je 0x41f034
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x41f038
add ecx, 4
add eax, 4
test dx, dx
jne 0x41f012
xor eax, eax
jmp 0x41f03d
sbb eax, eax
sbb eax, 0xffffffff
mov edi, dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
test eax, eax
jne 0x41f1a5
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [ebp - 0x94]
push eax
call edx
mov ecx, eax
mov byte [ebp - 4], 2
call ebx
mov ecx, eax
lea ebx, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41f070
sub ecx, ebx
sar ecx, 1
push ecx
push eax
mov ecx, 0x52c1cc
call fcn.004042f0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call edi
cmp byte [0x52c824], 0
mov ecx, dword [esi + 0x108]
je 0x41f142
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [ebp - 0x94]
push edx
call eax
mov ecx, eax
mov byte [ebp - 4], 3
call dword [sym.imp.DuiLib_u.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x11c], esp
push eax
call fcn.00404290
push 0x52c1b0
call fcn.0040ef50
lea ecx, [ebp - 0x94]
mov bl, al
mov byte [ebp - 4], 1
call edi
test bl, bl
jne 0x41f189
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x41f11e
push str.b_rN0R
mov ecx, eax
call fcn.00404290
mov esi, eax
jmp 0x41f120
xor esi, esi
mov byte [ebp - 4], 1
call fcn.0041fe40
mov ecx, dword [eax]
push 0
push esi
push 0x7e9
call dword [sym.imp.DuiLib_u.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x41f189
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [ebp - 0x94]
push eax
call edx
push 0
push 0
mov ecx, eax
mov byte [ebp - 4], 5
call dword [sym.imp.DuiLib_u.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
push 0x41fb00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x94]
mov esi, eax
mov byte [ebp - 4], 1
call edi
test esi, esi
je 0x41f189
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x120]
movzx edx, byte [0x52c825]
mov eax, dword [ecx - 0x20]
mov eax, dword [eax + 0x8c]
add ecx, 0xffffffe0
push edx
call eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xffffffff
call edi
jmp 0x41f219
push str.return
mov ecx, esi
call edi
test al, al
je 0x41f219
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [ebp - 0x94]
push eax
call edx
push str.edt_winmain_city
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 6
call edi
test al, al
je 0x41f206
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
push 0
call edx
mov ecx, eax
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CPaintManagerUI::SetFocus_class_DuiLib::CControlUI__]
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00456bde
mov esp, ebp
pop ebp
ret 4