Function at 0x3002c801
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 0x3002c849
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.30027d97
mov edi, dword [ebp + 0x1c8]
lea eax, [edi + 0x44]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.30027d6b
cmp dword [0x3009c728], 5
mov dword [0x300a2600], ebx
mov dword [0x300a2604], ebx
je 0x3002c88c
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 0x3002c9d1
cmp dword [0x3009c728], ebx
jne 0x3002c992
call fcn.30027d4d
test eax, eax
je 0x3002c97f
mov eax, dword [0x3009a790]
test byte [eax + 0x2c], 0x20
jne 0x3002c97f
push 0x3009ac64
push 0x104
push 0x3009ac74
call fcn.3002750f
mov eax, dword [0x3009a790]
test byte [eax + 0x38], 0x20
mov eax, 0x30004348
jne 0x3002c966
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 0x3002c992
call fcn.30022c75
test eax, eax
je 0x3002c992
push 0x300015a0
call fcn.30022d0f
lea eax, [ebp - 0x64]
push eax
call fcn.300301dc
push 1
lea eax, [ebp - 0x64]
push eax
call fcn.30031473
test eax, eax
je 0x3002c9c3
lea eax, [ebp - 0x64]
push eax
push esi
push edi
call fcn.30031d79
test eax, eax
je 0x3002c9c3
mov dword [0x300a25f4], 1
lea eax, [ebp - 0x64]
push eax
call fcn.300311ea
jmp 0x3002cbc2
call fcn.3002a32a
test eax, eax
je 0x3002ca6f
mov eax, dword [esi + 0x1104]
cmp eax, ebx
je 0x3002cbc2
cmp word [eax], bx
je 0x3002cbc2
mov dword [0x30097a98], eax
mov dword [0x300a265c], 1
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3002ca17
call fcn.3002c30a
jmp 0x3002cbc2
push 0x300203ad
push dword [0x3009c3dc]
push 0x67
push dword [0x30066570]
call fcn.3001a130
mov eax, dword [0x300a2620]
cmp eax, ebx
je 0x3002cbc2
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x3002ca58
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 0x3002cbc2
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.3004feaa
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 0x3002cb5d
mov eax, dword [0x300a2640]
mov dword [0x300a2604], eax
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3002cb6d
call fcn.3002c201
jmp 0x3002cbbc
push 0x300203ad
push dword [0x3009c3dc]
push 0x67
push dword [0x30066570]
call fcn.3001a130
mov eax, dword [0x300a2620]
cmp eax, ebx
je 0x3002cbbc
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x3002cbaa
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 0x3002cbd5
mov dword [esi + 0x1118], eax
mov dword [0x300a25f4], eax
mov ecx, dword [esi + 0x1110]
cmp ecx, ebx
je 0x3002cbf1
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], eax
push 0xc
lea eax, [ebp - 0x80]
push eax
push ecx
call fcn.300266f7
call fcn.3002a489
push ebx
push ebx
call dword [0x3009781c]
test eax, eax
jl 0x3002cc09
mov dword [ebp - 0x68], 1
cmp dword [0x3009c728], 5
je 0x3002cc1e
cmp dword [esi + 0x111c], ebx
jne 0x3002cc1e
xor eax, eax
jmp 0x3002cc21
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 0x3002cc3e
call dword [0x30097818]
mov eax, dword [edi + 0x20]
cmp eax, ebx
je 0x3002cc4b
push eax
call fcn.30054161
mov eax, dword [edi]
cmp eax, ebx
je 0x3002cc57
push eax
call fcn.30054161
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x3002cc64
push eax
call fcn.30054161
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x3002cc71
push eax
call fcn.30054161
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x3002cc7e
push eax
call fcn.30054161
mov eax, dword [edi + 0x10]
cmp eax, ebx
je 0x3002cc8b
push eax
call fcn.30054161
mov edi, dword [edi + 0x38]
cmp edi, ebx
je 0x3002cc98
push edi
call fcn.30054161
mov eax, dword [ebp - 0x70]
cmp eax, dword [0x300666a4]
je 0x3002ccad
cmp eax, ebx
je 0x3002ccad
push eax
call fcn.30054161
mov ecx, dword [ebp + 0x1bc]
pop edi
pop ebx
call fcn.30063125
add ebp, 0x1c0
leave
ret 8