Function at 0x4158c0
Capabilities:
Create process on windows
Create thread
Find taskbar

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x470413
mov eax, dword fs:[0]
push eax
sub esp, 0x5e0
mov eax, dword [0x48e820]
xor eax, esp
mov dword [esp + 0x5d8], eax
push ebx
push esi
push edi
mov eax, dword [0x48e820]
xor eax, esp
push eax
lea eax, [esp + 0x5f0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00410560
xor ebx, ebx
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x5fc], ebx
call fcn.00410560
mov byte [esp + 0x5f8], 1
mov eax, dword [esp + 0x14]
push str.JS_smallWin
push eax
call fcn.0045599c
add esp, 8
cmp eax, ebx
sete al
test al, al
jne 0x416270
mov ecx, dword [esp + 0x14]
push str.js_MinWin
push ecx
call fcn.0045599c
add esp, 8
cmp eax, ebx
sete al
test al, al
jne 0x416270
mov edx, dword [esp + 0x14]
push str.JS_closeWin
push edx
call fcn.0045599c
add esp, 8
cmp eax, ebx
sete al
test al, al
jne 0x416255
mov eax, dword [esp + 0x14]
push str.js_CloseWin
push eax
call fcn.0045599c
add esp, 8
cmp eax, ebx
sete al
test al, al
jne 0x416255
lea ecx, [esp + 0x14]
push str.js_MaxWin
push ecx
call fcn.0040ec80
add esp, 8
test al, al
je 0x415a90
cmp dword [esi + 0xf3c], ebx
je 0x4159e2
lea eax, [esi + 0xf2c]
push esi
call fcn.00417bc0
mov dword [esi + 0xf3c], ebx
jmp 0x416285
mov eax, dword [esi + 0x20]
lea edx, [esi + 0xf2c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
call edi
push 0
mov ebx, eax
call edi
mov edi, eax
xor eax, eax
push eax
push str.Shell_TrayWnd
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebx
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x415a69
lea ecx, [esp + 0x40]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x415a69
mov eax, dword [esp + 0x40]
test eax, eax
jg 0x415a65
mov eax, dword [esp + 0x44]
test eax, eax
jg 0x415a5f
mov eax, dword [esp + 0x48]
cmp eax, edi
jge 0x415a55
mov dword [esp + 0x30], eax
jmp 0x415a69
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], edx
jmp 0x415a69
mov dword [esp + 0x3c], eax
jmp 0x415a69
mov dword [esp + 0x38], eax
push esi
lea eax, [esp + 0x34]
call fcn.00417bc0
mov eax, dword [esi + 0x20]
push 1
push 0
push eax
mov dword [esi + 0xf3c], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x416285
lea ecx, [esp + 0x14]
push str.GoToWeb
push ecx
call fcn.0040ec80
add esp, 8
test al, al
je 0x415ac0
mov edx, dword [esp + 0x24]
push 1
push ebx
push ebx
push edx
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x416285
lea eax, [esp + 0x14]
push str.JS_GoToWeb
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415af0
mov ecx, dword [esp + 0x24]
push 1
push ebx
push ebx
push ecx
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x416285
lea edx, [esp + 0x14]
push str.JS_Pread
push edx
call fcn.0040ec80
add esp, 8
test al, al
je 0x415b1d
push ebx
mov edi, esi
mov dword [0x492cdc], 1
call fcn.00413010
jmp 0x416285
lea eax, [esp + 0x14]
push str.JS_favorites
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415b4c
lea ecx, [esp + 0x20]
push ecx
push ebx
push esi
push 0x416990
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x416285
lea edx, [esp + 0x14]
push str.JS_about
push edx
call fcn.0040ec80
add esp, 8
test al, al
je 0x415bf9
lea ecx, [esp + 0x1c]
call fcn.00410780
push ecx
mov bl, 2
mov byte [esp + 0x5fc], bl
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Pass
call fcn.00410560
push ecx
mov byte [esp + 0x600], 3
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x492de4
call fcn.00410310
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x604], bl
call fcn.00401760
add esp, 0xc
mov byte [esp + 0x5f8], 4
mov ecx, dword [0x492e7c]
mov edx, dword [esp + 0x18]
mov eax, dword [0x492df4]
push ecx
mov ecx, dword [0x492de4]
push edx
push eax
push ecx
lea edx, [esp + 0x2c]
push str.http:__www.dooland.com_magazine_client_api.php_modsgpid_su_sp_smagtype_s
push edx
call fcn.00410070
mov eax, dword [esp + 0x34]
add esp, 0x18
push 1
push 0
push 0
push eax
jmp 0x415d60
lea ecx, [esp + 0x14]
push str.JS_subscribe
push ecx
call fcn.0040ec80
add esp, 8
test al, al
je 0x415c89
lea ecx, [esp + 0x1c]
call fcn.00410780
push ecx
mov bl, 5
mov byte [esp + 0x5fc], bl
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Pass
call fcn.00410560
push ecx
mov byte [esp + 0x600], 6
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x492de4
call fcn.00410310
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x604], bl
call fcn.00401760
add esp, 0xc
mov byte [esp + 0x5f8], 7
mov eax, dword [0x492e7c]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x492df4]
push eax
mov eax, dword [0x492de4]
push ecx
push edx
push eax
push str.http:__www.dooland.com_magazine_client_api.php_moddypid_su_sp_smagtype_s
jmp 0x415d48
lea eax, [esp + 0x14]
push str.JS_more
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415cb9
push 1
push ebx
push ebx
push str.http:__www.dooland.com_
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x416285
lea ecx, [esp + 0x14]
push str.JS_comment
push ecx
call fcn.0040ec80
add esp, 8
test al, al
je 0x415d84
lea ecx, [esp + 0x1c]
call fcn.00410780
push ecx
mov bl, 8
mov byte [esp + 0x5fc], bl
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Pass
call fcn.00410560
push ecx
mov byte [esp + 0x600], 9
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x492de4
call fcn.00410310
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x604], bl
call fcn.00401760
add esp, 0xc
mov byte [esp + 0x5f8], 0xa
mov eax, dword [0x492e7c]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x492df4]
push eax
mov eax, dword [0x492de4]
push ecx
push edx
push eax
push str.http:__www.dooland.com_magazine_client_api.php_modplpid_su_sp_smagtype_s
lea ecx, [esp + 0x30]
push ecx
call fcn.00410070
mov edx, dword [esp + 0x34]
add esp, 0x18
push 1
push 0
push 0
push edx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [esp + 0x18]
call fcn.00410760
lea ecx, [esp + 0x1c]
call fcn.00410760
jmp 0x416285
lea eax, [esp + 0x14]
push str.JS_Login
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415e42
lea ecx, [esp + 0x40]
call fcn.00430f0c
push 2
push ecx
mov byte [esp + 0x600], 0xb
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
lea edi, [esp + 0x4c]
call fcn.00410310
call fcn.00416300
add esp, 8
cmp eax, ebx
je 0x415e2c
mov edx, dword [esp + 0x48]
cmp edx, 1
mov dword [0x492cdc], 1
jg 0x415dea
call fcn.0043af6a
cmp edx, ebx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
jg 0x415dfa
call fcn.0043af6a
mov edx, dword [eax]
push ecx
push esi
lea ecx, [esp + 0x20]
call fcn.00416e50
mov byte [esp + 0x5f8], 0xc
mov eax, dword [esp + 0x18]
lea edx, [esi + 0xf48]
mov ecx, str.userSucLog
call fcn.00429c30
lea ecx, [esp + 0x18]
call fcn.00410760
lea ecx, [esp + 0x40]
mov byte [esp + 0x5f8], 1
call fcn.00430ffe
jmp 0x416285
lea eax, [esp + 0x14]
push str.getBookMarkList
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415e83
mov ecx, dword [esi + 0x20]
push ebx
push 0x32
push 0xd0
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
lea edx, [esp + 0x20]
push edx
push ebx
push esi
push 0x407f30
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x416285
lea eax, [esp + 0x14]
push str.setUserBookMark
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415f85
lea ecx, [esp + 0x40]
call fcn.00430f0c
push 4
push ecx
mov byte [esp + 0x600], 0xd
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
lea edi, [esp + 0x4c]
call fcn.00410310
call fcn.00416300
add esp, 8
cmp eax, ebx
je 0x415f49
cmp dword [esp + 0x48], ebx
jg 0x415edc
call fcn.0043af6a
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esi + 0x184]
call fcn.004104c0
cmp dword [esp + 0x48], 1
jg 0x415ef8
call fcn.0043af6a
mov eax, dword [esp + 0x44]
add eax, 4
push eax
lea ecx, [esi + 0x180]
call fcn.004104c0
cmp dword [esp + 0x48], 2
jg 0x415f17
call fcn.0043af6a
mov eax, dword [esp + 0x44]
add eax, 8
push eax
lea ecx, [esi + 0x17c]
call fcn.004104c0
cmp dword [esp + 0x48], 3
jg 0x415f36
call fcn.0043af6a
mov eax, dword [esp + 0x44]
add eax, 0xc
push eax
lea ecx, [esi + 0x188]
call fcn.004104c0
mov ecx, dword [esi + 0x20]
push ebx
push 0x32
push 0xd1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
lea edx, [esp + 0x18]
push edx
push ebx
push esi
push 0x4083c0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [esp + 0x40]
mov byte [esp + 0x5f8], 1
call fcn.00430ffe
jmp 0x416285
lea eax, [esp + 0x14]
push str.Goto_Page_Num
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x415ff3
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00410310
push ecx
mov byte [esp + 0x600], 0xe
mov ecx, esp
mov dword [esp + 0x20], esp
push str.ViewPageNo
call fcn.00410560
push ecx
mov byte [esp + 0x604], 0xf
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x492de4
call fcn.00410310
mov byte [esp + 0x604], 1
call fcn.00401970
add esp, 0xc
jmp 0x416285
lea eax, [esp + 0x14]
push str.onPageChanged
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x416018
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00416490
jmp 0x416285
lea edx, [esp + 0x14]
push str.pagePrint
push edx
call fcn.0040ec80
add esp, 8
test al, al
je 0x4161c1
lea ecx, [esp + 0x18]
call fcn.00410780
lea ecx, [esp + 0x28]
call fcn.00410780
mov byte [esp + 0x5f8], 0x11
mov eax, dword [esp + 0x24]
mov ecx, dword [0x492de4]
push eax
push ecx
lea edx, [esp + 0x30]
push str._s__s_pd24
push edx
call fcn.00410070
add esp, 0x10
lea ecx, [esp + 0x1c]
call fcn.00410780
mov byte [esp + 0xc0], 0
mov dword [esp + 0x5c], vtable.ZMD5Ex.0
push 1
sub esp, 0x1c
mov byte [esp + 0x618], 0x13
mov eax, dword [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.0040ed50
lea ecx, [esp + 0x60]
push ecx
lea edi, [esp + 0x80]
call fcn.0042eda0
mov byte [esp + 0x5f8], 0x14
cmp dword [esp + 0x58], 0x10
mov eax, dword [esp + 0x44]
jae 0x4160c8
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x20]
call fcn.00410440
lea edi, [esp + 0x1c]
call fcn.0040e820
lea edx, [esp + 0xcc]
push edx
call fcn.00424d70
lea ecx, [esp + 0x2c]
call fcn.00410780
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xd0]
mov bl, 0x16
push ecx
mov byte [esp + 0x600], bl
call fcn.00426050
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x5fc], 0x17
call fcn.004104e0
lea ecx, [esp + 0x20]
mov byte [esp + 0x5f8], bl
call fcn.00410760
mov edx, dword [0x492e7c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [0x492de4]
push ecx
push edx
push eax
lea ecx, [esp + 0x2c]
push str.http:__www.dooland.com_magazine_client_print.php_pid_spage_skey_spckey_smagtype_s
push ecx
call fcn.00410070
mov edx, dword [esp + 0x34]
add esp, 0x1c
push 1
push 0
push 0
push edx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [esp + 0x2c]
call fcn.00410760
lea esi, [esp + 0xcc]
mov byte [esp + 0x5f8], 0x14
call fcn.004250c0
lea ecx, [esp + 0x40]
call fcn.0040ed90
lea ecx, [esp + 0x5c]
call fcn.0042f1b0
mov ecx, edi
call fcn.00410760
lea ecx, [esp + 0x28]
call fcn.00410760
lea ecx, [esp + 0x18]
call fcn.00410760
jmp 0x416285
lea eax, [esp + 0x14]
push str.onPageClicked
push eax
call fcn.0040ec80
add esp, 8
test al, al
je 0x416285
lea ecx, [esp + 0x40]
call fcn.00430f0c
push 3
push ecx
mov byte [esp + 0x600], 0x18
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
lea edi, [esp + 0x4c]
call fcn.00410310
call fcn.00416300
add esp, 8
cmp eax, ebx
je 0x416242
mov edx, dword [esp + 0x48]
cmp edx, 2
jg 0x41621d
call fcn.0043af6a
cmp edx, 1
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 8]
jg 0x41622e
call fcn.0043af6a
cmp edx, ebx
mov ecx, dword [eax + 4]
jg 0x41623a
call fcn.0043af6a
mov eax, dword [eax]
push eax
call fcn.004166d0
lea ecx, [esp + 0x40]
mov byte [esp + 0x5f8], 1
call fcn.00430ffe
jmp 0x416285
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x20]
push ebx
push ebx
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x416285
mov ecx, dword [esi + 0x20]
push ebx
push 0xf020
push 0x112
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [esp + 0x5f8], 0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4162ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5f8], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4162d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x5f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5d8]
xor ecx, esp
call fcn.004540ed
mov esp, ebp
pop ebp
ret 8