Function at 0x3002c689
Capabilities:
Suspend thread

Disassembly:
push ebp
lea ebp, [esp - 0x1c0]
sub esp, 0x240
mov eax, dword [section..cdata]
push ebx
push edi
xor ebx, ebx
mov dword [ebp + 0x1bc], eax
xor eax, eax
mov dword [ebp - 0x80], ebx
lea edi, [ebp - 0x7c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
cmp dword [0x3009c728], 5
mov ecx, 0x87
lea edi, [ebp - 0x60]
mov dword [ebp - 0x64], ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x68], ebx
je 0x3002c6d1
mov dword [0x300669b8], ebx
xor eax, eax
lea edi, [ebp - 0x74]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.30027c9c
mov edi, dword [ebp + 0x1c8]
lea eax, [edi + 0x44]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.30027c70
cmp dword [0x3009c728], 5
mov dword [0x300a2600], ebx
mov dword [0x300a2604], ebx
je 0x3002c714
mov dword [0x300a2620], ebx
push esi
mov esi, dword [ebp + 0x1cc]
lea eax, [esi + 0x1144]
mov dword [0x300a2628], eax
lea eax, [esi + 0x1160]
mov dword [0x300a262c], eax
lea eax, [esi + 0x116c]
mov dword [0x300a2630], eax
lea eax, [ebp - 0x74]
mov dword [0x300a2634], eax
mov eax, dword [esi + 0x111c]
mov dword [0x300a2638], eax
mov dword [0x300a263c], ebx
mov eax, dword [esi + 0x1110]
mov dword [0x300a2648], eax
mov eax, dword [esi + 0x1138]
mov dword [0x300a264c], eax
mov eax, dword [esi + 0x113c]
mov dword [0x300a2650], eax
lea eax, [esi + 0x1120]
mov dword [0x300a2654], edi
mov dword [0x300a2658], eax
mov ecx, dword [esi + 0x1180]
mov dword [eax + 0x14], ecx
mov dword [0x300a265c], ebx
test byte [esi + 0x1143], 0x10
mov dword [ebp + 0x1cc], eax
je 0x3002c859
cmp dword [0x3009c728], ebx
jne 0x3002c81a
call fcn.30027c52
test eax, eax
je 0x3002c807
mov eax, dword [0x3009a790]
test byte [eax + 0x2c], 0x20
jne 0x3002c807
push 0x3009ac64
push 0x104
push 0x3009ac74
call fcn.30027485
mov eax, dword [0x3009a790]
test byte [eax + 0x38], 0x20
mov eax, 0x30004348
jne 0x3002c7ee
mov eax, 0x30004330
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esi + 0x113c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
jmp 0x3002c81a
call fcn.30022c4c
test eax, eax
je 0x3002c81a
push 0x300015a0
call fcn.30022ce6
lea eax, [ebp - 0x64]
push eax
call fcn.3003001c
push 1
lea eax, [ebp - 0x64]
push eax
call fcn.300312b3
test eax, eax
je 0x3002c84b
lea eax, [ebp - 0x64]
push eax
push esi
push edi
call fcn.30031bb9
test eax, eax
je 0x3002c84b
mov dword [0x300a25f4], 1
lea eax, [ebp - 0x64]
push eax
call fcn.3003102a
jmp 0x3002ca4a
call fcn.3002a578
test eax, eax
je 0x3002c8f7
mov eax, dword [esi + 0x1104]
cmp eax, ebx
je 0x3002ca4a
cmp word [eax], bx
je 0x3002ca4a
mov dword [0x30097a98], eax
mov dword [0x300a265c], 1
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3002c89f
call fcn.3002c192
jmp 0x3002ca4a
push 0x300203ad
push dword [0x3009c3dc]
push 0x67
push dword [0x30066570]
call fcn.3001a130
mov eax, dword [0x300a2620]
cmp eax, ebx
je 0x3002ca4a
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x3002c8e0
push dword [0x300a2620]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [0x300a2620]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x300a2620], ebx
jmp 0x3002ca4a
xor eax, eax
mov dword [0x30097ac4], ebx
mov dword [0x30097ae8], ebx
mov dword [0x30097aec], ebx
mov dword [0x30097af0], ebx
mov dword [0x30097af4], ebx
mov dword [0x30097af8], ebx
mov byte [0x30098420], bl
mov dword [0x30098524], ebx
mov dword [0x30098534], ebx
mov dword [0x30098538], ebx
mov dword [0x3009856c], ebx
push 0x41
mov edx, 0x200
mov ecx, 0x400
mov edi, 0x30098570
rep stosd dword es:[edi], eax
mov dword [0x30099570], ebx
mov dword [0x30099574], ebx
mov ecx, edx
mov edi, 0x30099578
rep stosd dword es:[edi], eax
pop ecx
mov edi, 0x30099d78
rep stosd dword es:[edi], eax
push 0x41
mov ecx, edx
mov edi, 0x30099e7c
rep stosd dword es:[edi], eax
pop ecx
mov edi, 0x3009a67c
rep stosd dword es:[edi], eax
lea eax, [esi + 0x800]
push 0x104
mov dword [0x30097b18], eax
push 0x30097b1c
lea eax, [esi + 0x1000]
push eax
mov dword [0x3009a780], ebx
mov dword [0x3009a788], ebx
mov dword [0x30097b14], esi
call fcn.3004fcea
cmp dword [0x3009c728], 5
mov eax, dword [esi + 0x1108]
mov dword [0x3009853c], eax
mov eax, dword [esi + 0x110c]
mov dword [0x30098540], eax
mov eax, dword [esi + 0x1114]
mov dword [0x3009a78c], eax
jne 0x3002c9e5
mov eax, dword [0x300a2640]
mov dword [0x300a2604], eax
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3002c9f5
call fcn.3002c089
jmp 0x3002ca44
push 0x300203ad
push dword [0x3009c3dc]
push 0x67
push dword [0x30066570]
call fcn.3001a130
mov eax, dword [0x300a2620]
cmp eax, ebx
je 0x3002ca44
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x3002ca32
push dword [0x300a2620]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [0x300a2620]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x300a2620], ebx
mov edi, dword [ebp + 0x1c8]
xor eax, eax
inc eax
cmp dword [ebp - 0x6c], ebx
je 0x3002ca5d
mov dword [esi + 0x1118], eax
mov dword [0x300a25f4], eax
mov ecx, dword [esi + 0x1110]
cmp ecx, ebx
je 0x3002ca79
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], eax
push 0xc
lea eax, [ebp - 0x80]
push eax
push ecx
call fcn.3002666d
call fcn.3002a69c
push ebx
push ebx
call dword [0x3009781c]
test eax, eax
jl 0x3002ca91
mov dword [ebp - 0x68], 1
cmp dword [0x3009c728], 5
je 0x3002caa6
cmp dword [esi + 0x111c], ebx
jne 0x3002caa6
xor eax, eax
jmp 0x3002caa9
xor eax, eax
inc eax
push eax
push ebx
lea eax, [ebp - 0x74]
push eax
push dword [ebp + 0x1cc]
call fcn.3001e62b
cmp dword [ebp - 0x68], ebx
pop esi
je 0x3002cac6
call dword [0x30097818]
mov eax, dword [edi + 0x20]
cmp eax, ebx
je 0x3002cad3
push eax
call fcn.30053fa1
mov eax, dword [edi]
cmp eax, ebx
je 0x3002cadf
push eax
call fcn.30053fa1
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x3002caec
push eax
call fcn.30053fa1
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x3002caf9
push eax
call fcn.30053fa1
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x3002cb06
push eax
call fcn.30053fa1
mov eax, dword [edi + 0x10]
cmp eax, ebx
je 0x3002cb13
push eax
call fcn.30053fa1
mov edi, dword [edi + 0x38]
cmp edi, ebx
je 0x3002cb20
push edi
call fcn.30053fa1
mov eax, dword [ebp - 0x70]
cmp eax, dword [0x300666a4]
je 0x3002cb35
cmp eax, ebx
je 0x3002cb35
push eax
call fcn.30053fa1
mov ecx, dword [ebp + 0x1bc]
pop edi
pop ebx
call fcn.30062f67
add ebp, 0x1c0
leave
ret 8