Function at 0x4258e9
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a1f6a
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x4d04c0]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [ebp + 8]
mov eax, 0x8066
cmp ecx, eax
ja 0x425b36
je 0x425b17
mov eax, ecx
sub eax, 0x4a
je 0x425af9
sub eax, 0xc7
je 0x42599c
sub eax, 0x7f53
je 0x425971
dec eax
jne 0x425bb4
call fcn.0042609b
xor eax, eax
push eax
push eax
push esi
push 0x427451
push eax
push eax
call fcn.0047ef59
add esp, 0x18
mov dword [esi + 0x8ac], eax
jmp 0x425bab
xor eax, eax
cmp dword [esi + 0x8a8], eax
jne 0x425bab
push eax
push eax
push esi
push 0x427440
push eax
push eax
call fcn.0047ef59
add esp, 0x18
mov dword [esi + 0x8a8], eax
jmp 0x425bab
push dword [ebp + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call edi
mov ecx, dword [0x4d4770]
push eax
push str._INFO___d___HandleCustomMessage_2:__d
call fcn.00414401
add esp, 0xc
cmp dword [ebp + 0xc], 0x208
jne 0x425bab
push dword [esi + 0x8c4]
call edi
mov ecx, dword [0x4d4770]
push eax
push str._INFO___d___HandleCustomMessage_3:__d
call fcn.00414401
mov ebx, dword [esi + 0x8c4]
add esp, 0xc
mov byte [esi + 0xcbd], 1
cmp ebx, 2
jne 0x425a0d
mov eax, esi
call fcn.00428155
push 1
push 0
mov ecx, esi
call fcn.00431085
jmp 0x425bab
cmp ebx, 1
jne 0x425aad
mov eax, dword [esi + 0x8cc]
push ecx
sub eax, 0x10
mov dword [esp + 0x18], esp
mov ebx, esp
call fcn.00402162
add eax, 0x10
mov dword [ebx], eax
push dword [esi + 0x8c8]
call fcn.00422002
pop ecx
pop ecx
test eax, eax
jne 0x425abd
call edi
mov ecx, dword [0x4d4770]
push eax
push str._INFO___d___HandleCustomMessage_4
call fcn.00414401
pop ecx
pop ecx
push 0x40
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push str.Information
push eax
call fcn.004025df
and dword [esp + 0x30], 0
push ecx
mov dword [esp + 0x24], esp
mov ebx, esp
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push str.tipmsg_close
push eax
call fcn.004025df
push ebx
push dword [esi + 0x890]
call fcn.0040d934
or dword [esp + 0x34], 0xffffffff
xor eax, eax
inc eax
mov ecx, esi
call fcn.00427fc1
cmp eax, 1
je 0x425abd
jmp 0x425bab
cmp ebx, 3
jne 0x425abd
mov ecx, dword [esi + 0x88c]
call fcn.0041f2de
call edi
mov ecx, dword [0x4d4770]
push eax
push str._INFO___d___HandleCustomMessage_5
call fcn.00414401
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x34], esp
push str.closetype
xor edi, edi
call fcn.004029c1
lea ecx, [edi + 1]
call fcn.00416bf1
push edi
push edi
push 0x81bc
jmp 0x425ba4
mov eax, dword [ebp + 0x10]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push dword [eax + 8]
call fcn.004029c1
call fcn.00416d99
jmp 0x425bb4
call fcn.00426269
mov eax, esi
call fcn.00428155
xor edi, edi
inc edi
push edi
push edi
mov ecx, esi
call fcn.00431085
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
jmp 0x425bb4
mov eax, ecx
sub eax, 0x8067
je 0x425b8d
dec eax
je 0x425b85
sub eax, 0x154
je 0x425b66
sub eax, 0x604
jne 0x425bb4
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi + 0x90c]
jne 0x425bab
push dword [ebp + 0x10]
push esi
call fcn.004281d5
jmp 0x425bab
xor edi, edi
inc edi
mov dword [esi + 0x8a0], edi
call fcn.00427471
mov eax, esi
call fcn.00428155
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x425b2f
push esi
call fcn.00425bee
jmp 0x425bab
xor edi, edi
push edi
push edi
push 0x8064
mov ecx, esi
call fcn.004313fd
push edi
push edi
push 0x8065
mov ecx, esi
call fcn.004313fd
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
xor eax, eax
inc eax
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10