Function at 0x4f0f00
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x16
push 0
push 0
dec ecx
jne 0x4f0f08
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4f19a8
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
xor edx, edx
push ebp
push 0x4f18e8
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x10]
call fcn.0048cec0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
add eax, 0x1b4
call fcn.00405574
lea eax, [ebp - 0x14]
call fcn.0046c7d8
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
add eax, 0xe4
call fcn.00405574
mov eax, dword [ebp - 4]
call fcn.004e9058
mov eax, dword [ebp - 4]
call fcn.004e92cc
mov eax, dword [ebp - 4]
call fcn.004ebefc
mov dl, 1
mov eax, dword [0x48a8ec]
call fcn.0048aee0
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x110], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
call fcn.00481564
mov edx, eax
mov eax, ebx
call fcn.0048ad78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
call fcn.004815e0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x110]
call fcn.0048ae14
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x110]
xor eax, eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x190]
lea eax, [ebp - 0x18]
mov ecx, 0x4f19c0
call fcn.004057e0
mov edx, dword [ebp - 0x18]
mov eax, ebx
call fcn.0048b054
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
mov dl, 1
mov eax, dword [0x4895cc]
call fcn.00489634
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x70], ebx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x190]
mov eax, ebx
call fcn.004897ec
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x4cc518]
call fcn.004ce320
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x78], ebx
lea eax, [ebx + 0x21b8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x190]
call fcn.00405574
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp - 4]
mov dword [eax + 0x21dc], edx
mov dword [eax + 0x21d8], 0x4eaff0
mov edx, dword [ebp - 4]
mov dword [eax + 0x21e4], edx
mov dword [eax + 0x21e0], 0x4eaff4
mov dword [eax + 0x1a4], 0xa
mov dword [eax + 0x1a8], 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x1ac]
mov dword [eax + 0x21e8], edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x74]
call fcn.004d105c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x110]
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0x78]
mov dword [ebx + 0x1a0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov dword [ebx + 0x21d0], eax
mov eax, ebx
call fcn.004ce5d8
test al, al
jne 0x4f10eb
mov byte [ebp - 5], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4f195f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xd4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
call fcn.004e5714
mov eax, dword [ebp - 4]
push eax
push fcn.004f00cc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1ac]
mov eax, esi
call fcn.004e872c
mov eax, dword [ebp - 4]
call fcn.004eb0a0
mov eax, dword [ebp - 4]
call fcn.004ee9e8
mov eax, dword [ebp - 4]
call fcn.004edb20
mov byte [ebp - 5], al
xor edx, edx
push ebp
push 0x4f11b1
push dword fs:[edx]
mov dword fs:[edx], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4e29cc]
call fcn.004e2bec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x174], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
call fcn.00481a94
mov edx, eax
mov eax, ebx
call fcn.004e2da8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x174]
mov edx, dword [ebp - 4]
mov dword [eax + 0x9c], edx
mov dword [eax + 0x98], 0x4eb7e0
mov edx, dword [ebp - 4]
mov dword [eax + 0x34], edx
mov dword [eax + 0x30], 0x4eb8d0
mov dl, 1
call fcn.004e2800
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4f1232
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x170], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4e8f48
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x170]
mov edx, 0x7d0
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x170]
xor edx, edx
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x198], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4efcbc
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x198]
mov edx, 0x2710
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x198]
xor edx, edx
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x194], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4efce8
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x194]
mov edx, 0x927c0
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x194]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x114], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4efdac
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
xor edx, edx
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xf0], ebx
mov eax, dword [ebp - 4]
push eax
push fcn.004effac
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf0]
mov edx, 0xdbba00
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf0]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xf4], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f002c
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf4]
mov edx, 0x927c0
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf4]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xf8], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f0048
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf8]
mov edx, 0x7d0
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf8]
xor edx, edx
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x108], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f0064
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x108]
mov edx, 0x36ee80
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x108]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x100], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f0090
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x100]
mov edx, 0x5265c00
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x100]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x104], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f0098
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x104]
mov edx, 0xea60
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x104]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x10c], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f00b8
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10c]
mov edx, 0x3e8
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10c]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x118], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f00bc
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov edx, 0x2710
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov dl, 1
call fcn.00436574
xor ecx, ecx
mov dl, 1
mov eax, dword [0x435d04]
call fcn.004363ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xfc], ebx
mov eax, dword [ebp - 4]
push eax
push 0x4f088c
mov eax, ebx
call fcn.00436594
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xfc]
mov edx, 0x3e8
call fcn.00436584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xfc]
mov dl, 1
call fcn.00436574
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov dword [eax + 0xcc], edx
mov dword [eax + 0xc8], 0x4ed3fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x30]
xor eax, eax
call fcn.0046b2c8
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.004e8f88
mov dl, 1
mov eax, dword [0x4e3440]
call fcn.004e369c
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x19c], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78]
mov dword [ebx + 8], eax
mov dl, 1
mov eax, dword [0x4dd544]
call fcn.004dd794
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x1a0], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x78]
mov dword [edx + 0x21e8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x1a0]
mov dword [edx + 0x20], eax
mov dl, 1
mov eax, dword [0x4e3c88]
call fcn.004e3f88
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x1a4], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
push 6
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x4f89dc]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4f1a28
call fcn.00472944
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x4f89dc]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4f1a4c
call fcn.00472944
mov eax, dword [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
call fcn.00481450
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x28], 0xf
lea edx, [ebp - 0x2c]
xor ecx, ecx
pop eax
call fcn.0040ba74
mov eax, dword [ebp - 0x38]
push eax
push 0
mov ecx, 2
mov edx, 7
mov eax, dword [ebp - 4]
call fcn.004f00cc
mov eax, dword [ebp - 4]
call fcn.004f1e5c
mov eax, dword [ebp - 4]
mov dword [eax + 0x80], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
push eax
mov eax, dword [ebp - 4]
push eax
push fcn.004e8f68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x110]
mov dl, 1
mov eax, dword [0x4d6fc8]
call fcn.004d8bb0
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xdc], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
mov dword [ebx + 0x4a88], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x914], eax
mov dword [ebx + 0x910], 0x4efb08
mov dword [ebx + 0x297c], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov dword [ebx + 0x2978], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov dword [ebx + 0x2970], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, ebx
call fcn.004d9cb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xdc]
call fcn.004d9064
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xdc]
mov edx, dword [ebp - 4]
mov dword [eax + 0xc], edx
mov dword [eax + 8], fcn.004f00cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
call fcn.00481a68
cmp al, 1
je 0x4f1852
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78]
call fcn.004d0ff4
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xdc]
mov cl, 1
call fcn.004db05c
jmp 0x4f185a
mov eax, dword [ebp - 4]
call fcn.004ed7d8
mov eax, dword [ebp - 4]
call fcn.004eb408
mov eax, dword [ebp - 4]
call fcn.004ead08
mov eax, dword [ebp - 4]
add eax, 0xe0
push eax
push 0x20
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
call sub.KERNEL32.DLL_CreateThread_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x84], eax
call sub.KERNEL32.DLL_GetCurrentProcessId
push eax
push 0
push 0x1f0fff
call sub.KERNEL32.DLL_OpenProcess
mov ebx, eax
test ebx, ebx
je 0x4f18b7
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
call sub.KERNEL32.DLL_SetProcessWorkingSetSize
push ebx
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x74]
xor edx, edx
call fcn.00486f1c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004effac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
push eax
call sub.KERNEL32.DLL_SetEvent
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4f195f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f19af
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.00405550
lea eax, [ebp - 0xa8]
mov edx, dword [0x46faf0]
call fcn.00405c14
lea eax, [ebp - 0x40]
mov edx, 5
call fcn.00405550
lea eax, [ebp - 0x24]
mov edx, 6
call fcn.00405550
ret