Function at 0x3002bab2
Capabilities:
Suspend thread

Disassembly:
push ebp
lea ebp, [esp - 0x1c0]
sub esp, 0x240
mov eax, dword [0x300930a4]
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 [0x30098848], 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 0x3002bafa
mov dword [0x300629a0], 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.30027622
mov edi, dword [ebp + 0x1c8]
lea eax, [edi + 0x44]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.300275f6
cmp dword [0x30098848], 5
mov dword [0x3009e720], ebx
mov dword [0x3009e724], ebx
je 0x3002bb3d
mov dword [0x3009e740], ebx
push esi
mov esi, dword [ebp + 0x1cc]
lea eax, [esi + 0x1144]
mov dword [0x3009e748], eax
lea eax, [esi + 0x1160]
mov dword [0x3009e74c], eax
lea eax, [esi + 0x116c]
mov dword [0x3009e750], eax
lea eax, [ebp - 0x74]
mov dword [0x3009e754], eax
mov eax, dword [esi + 0x111c]
mov dword [0x3009e758], eax
mov dword [0x3009e75c], ebx
mov eax, dword [esi + 0x1110]
mov dword [0x3009e768], eax
mov eax, dword [esi + 0x1138]
mov dword [0x3009e76c], eax
mov eax, dword [esi + 0x113c]
mov dword [0x3009e770], eax
lea eax, [esi + 0x1120]
mov dword [0x3009e774], edi
mov dword [0x3009e778], eax
mov ecx, dword [esi + 0x1180]
mov dword [eax + 0x14], ecx
mov dword [0x3009e77c], ebx
test byte [esi + 0x1143], 0x10
mov dword [ebp + 0x1c8], eax
je 0x3002bc60
cmp dword [0x30098848], ebx
jne 0x3002bc21
call fcn.300275d8
test eax, eax
je 0x3002bc0e
mov eax, dword [0x300968a8]
test byte [eax + 0x2c], 0x20
jne 0x3002bc0e
push 0x30096d7c
push 0x104
push 0x30096d8c
call fcn.300264e8
mov dword [esi + 0x113c], 0x300042f0
jmp 0x3002bc21
call fcn.30022690
test eax, eax
je 0x3002bc21
push 0x30001588
call fcn.3002272a
lea eax, [ebp - 0x64]
push eax
call fcn.3002f328
push 1
lea eax, [ebp - 0x64]
push eax
call fcn.300305bf
test eax, eax
je 0x3002bc52
lea eax, [ebp - 0x64]
push eax
push esi
push edi
call fcn.30030ec5
test eax, eax
je 0x3002bc52
mov dword [0x3009e714], 1
lea eax, [ebp - 0x64]
push eax
call fcn.30030336
jmp 0x3002bd5c
call fcn.30029e9d
test eax, eax
je 0x3002bca2
mov eax, dword [esi + 0x1104]
cmp eax, ebx
je 0x3002bd5c
cmp word [eax], bx
je 0x3002bd5c
mov dword [0x30093ba8], eax
mov dword [0x3009e77c], 1
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3002bd0d
call fcn.3002b5d5
jmp 0x3002bd5c
push 0x104
push 0x30093c2c
lea eax, [esi + 0x1000]
push eax
call fcn.3004cb0a
cmp dword [0x30098848], 5
lea eax, [esi + 0x800]
mov dword [0x30093c24], esi
mov dword [0x30093c28], eax
mov eax, dword [esi + 0x1108]
mov dword [0x3009464c], eax
mov eax, dword [esi + 0x110c]
mov dword [0x30094650], eax
mov eax, dword [esi + 0x1114]
mov dword [0x300968a4], eax
jne 0x3002bcfd
mov eax, dword [0x3009e760]
mov dword [0x3009e724], eax
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3002bd0d
call fcn.3002b4cc
jmp 0x3002bd5c
push 0x3001fe31
push dword [0x300984f4]
push 0x67
push dword [0x30098500]
call fcn.30019bb7
mov eax, dword [0x3009e740]
cmp eax, ebx
je 0x3002bd5c
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x3002bd4a
push dword [0x3009e740]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [0x3009e740]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x3009e740], ebx
xor eax, eax
inc eax
cmp dword [ebp - 0x6c], ebx
je 0x3002bd6f
mov dword [esi + 0x1118], eax
mov dword [0x3009e714], eax
mov ecx, dword [esi + 0x1110]
cmp ecx, ebx
je 0x3002bd8b
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], eax
push 0xc
lea eax, [ebp - 0x80]
push eax
push ecx
call fcn.3002608a
call fcn.30029fc1
push ebx
push ebx
call dword [0x30093920]
test eax, eax
jl 0x3002bda3
mov dword [ebp - 0x68], 1
cmp dword [0x30098848], 5
je 0x3002bdb8
cmp dword [esi + 0x111c], ebx
jne 0x3002bdb8
xor eax, eax
jmp 0x3002bdbb
xor eax, eax
inc eax
push eax
push ebx
lea eax, [ebp - 0x74]
push eax
push dword [ebp + 0x1c8]
call fcn.3001e0ae
cmp dword [ebp - 0x68], ebx
pop esi
je 0x3002bdd8
call dword [0x3009391c]
mov eax, dword [edi + 0x20]
cmp eax, ebx
je 0x3002bde5
push eax
call fcn.30050db4
mov eax, dword [edi]
cmp eax, ebx
je 0x3002bdf1
push eax
call fcn.30050db4
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x3002bdfe
push eax
call fcn.30050db4
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x3002be0b
push eax
call fcn.30050db4
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x3002be18
push eax
call fcn.30050db4
mov eax, dword [edi + 0x10]
cmp eax, ebx
je 0x3002be25
push eax
call fcn.30050db4
mov edi, dword [edi + 0x38]
cmp edi, ebx
je 0x3002be32
push edi
call fcn.30050db4
mov eax, dword [ebp - 0x70]
cmp eax, dword [0x3006268c]
je 0x3002be47
cmp eax, ebx
je 0x3002be47
push eax
call fcn.30050db4
mov ecx, dword [ebp + 0x1bc]
pop edi
pop ebx
call fcn.3005f839
add ebp, 0x1c0
leave
ret 8