Function at 0x460aa2
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0xc], ecx
mov ecx, eax
movzx eax, word [eax]
push edi
xor edi, edi
xor esi, esi
cmp ax, di
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
je 0x460b3d
mov edx, eax
mov eax, edx
call fcn.0040bc38
test al, al
jne 0x460b3d
cmp dx, 0x24
jne 0x460af3
mov dword [ebp - 0x14], 1
jmp 0x460b30
cmp dx, 0x2a
jne 0x460b04
movsx eax, byte [ecx]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edi
jmp 0x460b30
cmp dx, 0x2b
jne 0x460b15
movsx eax, byte [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edi
jmp 0x460b30
cmp dx, 0x26
jne 0x460b24
mov dword [ebp - 0x30], 1
jmp 0x460b30
cmp dx, 0x23
jne 0x460b30
movsx eax, byte [ecx]
mov dword [ebp - 0x2c], eax
inc ecx
inc ecx
mov dx, word [ecx]
cmp dx, di
mov dword [ebp - 4], ecx
jne 0x460ad9
lea eax, [ebp - 4]
push eax
call fcn.00430961
mov eax, dword [ebp - 4]
mov ebx, eax
mov ax, word [eax]
cmp ax, 0x2d
pop ecx
mov dword [ebp + 8], ebx
mov dword [ebp - 0x28], 0x80000000
mov cl, 0x2a
jne 0x460b63
mov cl, al
movsx ecx, cl
movzx eax, ax
cmp ecx, eax
mov dword [ebp - 8], ecx
jne 0x460c54
push 5
lea eax, [ebp - 4]
push eax
push str._wait
call fcn.00437b13
add esp, 0xc
test al, al
je 0x460b97
mov dword [ebp - 0x10], 1
jmp 0x460c45
push 6
lea eax, [ebp - 4]
push eax
push str._waitx
call fcn.00437b13
add esp, 0xc
test al, al
je 0x460bba
mov dword [ebp - 0x10], 2
jmp 0x460c45
push 5
lea eax, [ebp - 4]
push eax
push str._here
call fcn.00437b13
add esp, 0xc
test al, al
je 0x460bd8
mov esi, 0x100
jmp 0x460c45
push 5
lea eax, [ebp - 4]
push eax
push str._idle
call fcn.00437b13
add esp, 0xc
test al, al
je 0x460bf8
mov dword [ebp - 0x28], 0xfffffff1
jmp 0x460c45
push 4
lea eax, [ebp - 4]
push eax
push str._exp
call fcn.00437b13
add esp, 0xc
test al, al
je 0x460c18
mov dword [ebp - 0x14], 1
jmp 0x460c45
push 5
lea eax, [ebp - 4]
push eax
push str._link
call fcn.00437b13
add esp, 0xc
test al, al
je 0x460c3b
mov dword [ebp - 0x1c], 0x2a
mov dword [ebp - 0x20], edi
jmp 0x460c45
lea eax, [ebp - 4]
push eax
call fcn.0040459d
pop ecx
mov eax, dword [ebp - 4]
movzx eax, word [eax]
cmp dword [ebp - 8], eax
je 0x460b74
lea eax, [ebp - 4]
push eax
call fcn.00430961
mov eax, dword [ebp - 4]
cmp word [eax], di
pop ecx
jne 0x460c70
mov eax, 0x80070057
jmp 0x460efb
cmp dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
je 0x460c9e
mov ecx, dword [ebp - 0xc]
push 1
push edi
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0043d5b3
mov eax, dword [ebp - 0x24]
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
call fcn.00430961
mov ebx, dword [ebp + 8]
mov edi, ebx
jmp 0x460cad
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], ebx
call fcn.00430961
mov edi, dword [ebp - 4]
mov ax, word [edi]
test ax, ax
pop ecx
jne 0x460cc0
mov esi, 0x80070057
jmp 0x460ef1
and dword [ebp - 0x14], 0
movzx eax, ax
cmp dword [ebp - 8], eax
mov dword [ebp - 0x18], 0x100000
jne 0x460d30
movzx eax, word [edi + 2]
cmp dword [ebp - 8], eax
jne 0x460d30
push 3
lea eax, [edi + 4]
push eax
push 0x49d23c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x460d30
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
add edi, 0xa
push eax
mov dword [ebp - 4], edi
call fcn.0043aabb
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add eax, 0x1fff
adc ecx, 0
and eax, 0xffffe000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
jmp 0x460d30
lea eax, [ebp + 8]
push eax
call fcn.0040459d
mov ebx, dword [ebp + 8]
pop ecx
movzx eax, word [ebx]
cmp dword [ebp - 8], eax
je 0x460d23
xor edi, edi
cmp dword [ebp - 0x1c], edi
je 0x460d45
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x28]
xor eax, eax
cmp esi, eax
mov dword [ebp - 8], eax
je 0x460d53
cmp dword [ebp - 0x10], eax
jne 0x460d5f
push edi
call fcn.00430e0c
mov dword [ebp - 8], eax
pop ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
or esi, dword [ebp - 0x30]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], esi
xor edi, edi
cmp dword [ebp - 0x10], 2
mov ebx, 0x4ad69c
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
push ebx
je 0x460db5
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
jmp 0x460dd3
mov esi, dword [sym.imp.KERNEL32.DLL_TryEnterCriticalSection]
jmp 0x460dcd
mov ecx, dword [ebp - 0xc]
push 0x1000
push 0
call fcn.0040d358
push ebx
call esi
test eax, eax
je 0x460dbd
lea eax, [ebp - 0x54]
push eax
push 0x10000
lea eax, [ebp - 0x64]
push eax
push 0x4607d8
push dword [ebp - 0x18]
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.DLL_CreateThread]
cmp eax, esi
mov dword [ebp + 8], eax
je 0x460dfd
mov dword [ebp + 0xc], esi
jmp 0x460e0d
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, esi
jne 0x460e0a
xor eax, eax
inc eax
mov dword [ebp + 0xc], eax
cmp dword [ebp + 8], esi
je 0x460e66
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
mov edi, 0x3e7
cmp dword [ebp - 0x58], 0
je 0x460e2a
push 0
call esi
dec edi
jns 0x460e1d
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
jmp 0x460e4a
cmp dword [ebp - 0x10], 2
je 0x460e3e
push 1
call esi
jmp 0x460e4a
mov ecx, dword [ebp - 0xc]
push 0
push 1
call fcn.0040d358
mov edi, dword [ebp - 0x58]
test edi, edi
jne 0x460e32
cmp dword [ebp - 0x28], 0x80000000
je 0x460e66
push dword [ebp - 0x28]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_SetThreadPriority]
mov esi, dword [ebp - 0xc]
push str.__LastTID
push dword [ebp - 0x54]
push esi
call fcn.004380a5
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor ebx, ebx
cmp edi, ebx
je 0x460e8e
mov dword [ebp + 0xc], 1
cmp dword [ebp - 0x10], ebx
je 0x460ec3
cmp dword [ebp + 8], ebx
je 0x460ed1
cmp dword [ebp - 0x54], ebx
je 0x460ec3
push dword [ebp - 0x54]
lea eax, [ebp - 0xa0]
push 0x49d224
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0xa0]
push eax
mov ecx, esi
call fcn.00421718
cmp dword [ebp + 8], ebx
je 0x460ed1
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 8], ebx
je 0x460eee
cmp dword [ebp + 8], ebx
je 0x460eee
push dword [esi + 0x28]
push 1
push 0x451
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x24]
call fcn.0043092f
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 8