Function at 0x591c20
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59cbc2
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x5e632c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x401
ja 0x591c84
cmp dword [ebp - 0xb8], 0x401
je 0x591f03
cmp dword [ebp - 0xb8], 0x113
je 0x591cb0
jmp case.default.0x591ca9
mov ecx, dword [ebp - 0xb8]
sub ecx, 0x402
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0xb
ja case.default.0x591ca9
mov edx, dword [ebp - 0xb8]
jmp dword [edx*4 + 0x5922ac]
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xb4]
call fcn.005911c0
jmp case.default.0x591ca9
push 1
push 0
push 0
push str.http:__bbs.mydrivers.com_forum_156_1.html
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp case.default.0x591ca9
mov ecx, dword [ebp - 0xb4]
call fcn.00590560
jmp case.default.0x591ca9
mov ecx, dword [ebp - 0xb4]
call fcn.0058e4e0
jmp case.default.0x591ca9
mov ecx, dword [ebp - 0xb4]
call fcn.005918c0
jmp case.default.0x591ca9
push 0
push 0x3e8
push 0x3f0
mov ecx, dword [ebp - 0xb4]
add ecx, 0x2c
call fcn.004287b0
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x591ca9
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0xb4]
call fcn.0058c0b0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x18], 0
je 0x591ec4
cmp dword [ebp - 0x10], 0
jl 0x591ec4
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.004e1b10
cmp dword [ebp - 0x14], 3
jne 0x591e4e
cmp dword [ebp - 0xb4], 0
je 0x591da8
mov edx, dword [ebp - 0xb4]
add edx, 0x334
mov dword [ebp - 0xbc], edx
jmp 0x591db2
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.004e17d0
push eax
call fcn.00419b70
mov ecx, eax
call fcn.005820b0
call fcn.00419b70
mov ecx, eax
call fcn.00582090
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00419b70
mov ecx, eax
call fcn.0057fe50
movzx edx, al
test edx, edx
jne 0x591e4e
push 4
call fcn.00419b70
mov ecx, eax
call fcn.00582600
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00419b70
mov ecx, eax
call fcn.0057fe50
movzx eax, al
test eax, eax
jne 0x591e4e
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0x460], 1
push 0x47
push 0x2bd
call fcn.00582fa0
add esp, 8
push 0
mov ecx, dword [ebp - 0xb4]
call fcn.00454810
cmp dword [ebp - 0x10], 7
je 0x591e60
cmp dword [ebp - 0x10], 2
je 0x591e60
cmp dword [ebp - 0x10], 8
jne 0x591e75
mov ecx, dword [ebp - 0x18]
call fcn.004e17d0
push eax
call fcn.00419b00
mov ecx, eax
call fcn.00581f20
cmp dword [ebp - 0x10], 3
je 0x591e81
cmp dword [ebp - 0x10], 6
jne 0x591e96
mov ecx, dword [ebp - 0x18]
call fcn.004e17d0
push eax
call fcn.00419b70
mov ecx, eax
call fcn.005821c0
cmp dword [ebp - 0x10], 3
je 0x591ea8
cmp dword [ebp - 0x10], 6
je 0x591ea8
cmp dword [ebp - 0x10], 7
jne 0x591eb9
mov edx, dword [ebp - 0xb4]
mov ecx, dword [edx + 0x380]
call fcn.004e3980
mov ecx, dword [ebp - 0xb4]
call fcn.0058f740
jmp case.default.0x591ca9
push 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x368]
call fcn.004e4780
push 3
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x36c]
call fcn.00464af0
push 0x15
push 0xd3
call fcn.00582fa0
add esp, 8
jmp case.default.0x591ca9
mov ecx, dword [ebp - 0xb4]
call fcn.0058e920
mov edx, dword [ebp - 0xb4]
mov ecx, dword [edx + 0x36c]
call fcn.00464ad0
test eax, eax
jne 0x591fe7
push 0xb
push 0x65
call fcn.00582fa0
add esp, 8
push 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x368]
call fcn.004e4780
push 1
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x36c]
call fcn.00464af0
call fcn.00410820
mov ecx, eax
call fcn.00418940
movzx edx, al
test edx, edx
je 0x591fb5
push 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x360]
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x360]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0xe0]
call eax
push 0
push 0x3e8
push 0x3ea
mov ecx, dword [ebp - 0xb4]
add ecx, 0x2c
call fcn.004287b0
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x591fe7
push 0
mov ecx, dword [ebp - 0xb4]
add ecx, 0x2c
call fcn.00459620
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x360]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x360]
mov edx, dword [edx]
mov eax, dword [edx + 0xf8]
call eax
jmp case.default.0x591ca9
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 4]
push ecx
call fcn.004eac10
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x1c], 1
jne 0x59204c
cmp dword [ebp + 0x10], 0
setne dl
mov byte [ebp - 0x21], dl
mov ecx, dword [ebp - 0xb4]
call fcn.0058dbb0
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x450], 0
push 0
push 0
push 0x407
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.default.0x591ca9
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0xb4]
call fcn.0058fb00
jmp case.default.0x591ca9
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x380]
call fcn.004e3960
jmp case.default.0x591ca9
mov ecx, dword [ebp - 0xb4]
call fcn.0058e000
mov byte [ebp - 0x22], al
push 0x3ea
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov al, byte [ebp - 0x22]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x360]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x360]
mov edx, dword [edx]
mov eax, dword [edx + 0xe0]
call eax
push 0x5c91d8
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x360]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x360]
mov edx, dword [edx]
mov eax, dword [edx + 0x2c]
call eax
push 0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x340]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x340]
mov edx, dword [edx]
mov eax, dword [edx + 0xd4]
call eax
jmp case.default.0x591ca9
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
call fcn.00419b00
mov ecx, eax
call fcn.00581d70
push 0
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x384]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x384]
mov edx, dword [eax]
mov eax, dword [edx + 0xd4]
call eax
push 1
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x380]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x380]
mov edx, dword [edx]
mov eax, dword [edx + 0xd4]
call eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x28]
imul edx, edx, 0xc8
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x380]
call fcn.004e39a0
push 0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x3a4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x3a4]
mov edx, dword [edx]
mov eax, dword [edx + 0xd4]
call eax
push 0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x390]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x390]
mov edx, dword [edx]
mov eax, dword [edx + 0xd4]
call eax
push 1
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x394]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x394]
mov edx, dword [edx]
mov eax, dword [edx + 0xd4]
call eax
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x398]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x398]
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0xc4]
call fcn.0045c1f0
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
mov byte [ebp - 0x29], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.0045bfd0
movzx eax, byte [ebp - 0x29]
test eax, eax
je case.default.0x591ca9
push 1
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x398]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x398]
mov edx, dword [edx]
mov eax, dword [edx + 0xd4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x10