Function at 0x3000f7de
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push esi
push edi
xor esi, esi
xor eax, eax
cmp dword [0x30024650], esi
lea edi, [ebp - 0x20]
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], esi
stosd dword es:[edi], eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
stosd dword es:[edi], eax
je 0x3000f827
push esi
push esi
call dword [0x30024658]
test eax, eax
jl 0x3000f827
push esi
push esi
push esi
push 3
push esi
push esi
push esi
push 0xffffffffffffffff
push esi
mov dword [ebp - 8], 1
call dword [0x30024660]
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.3000fb76
mov edi, dword [ebp + 8]
push edi
call fcn.3000fb39
call fcn.30012ab7
mov ebx, dword [ebp + 0xc]
test eax, eax
je 0x3000f906
cmp byte [ebx + 0x208], 0
lea eax, [ebx + 0x208]
je 0x3000f906
mov dword [0x300249d4], eax
cmp dword [ebx + 0x424], esi
lea eax, [ebx + 0x428]
mov dword [0x30024bf4], edi
mov dword [ebp + 0xc], eax
mov dword [0x30024bf8], eax
lea eax, [ebp - 0x18]
push esi
mov dword [0x30024be8], eax
mov eax, dword [ebx + 0x418]
mov dword [0x30024c0c], eax
je 0x3000f8a4
call fcn.30012bdb
jmp 0x3000fa00
push 0x30008d00
push esi
push 0x67
push dword [0x300283bc]
call fcn.30007943
cmp dword [0x30024198], esi
je 0x3000f8cc
cmp dword [0x3002419c], esi
je 0x3000f8cc
call fcn.300094a0
mov eax, dword [0x30024c04]
cmp eax, esi
je 0x3000fa00
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
je 0x3000f8f5
push dword [0x30024c04]
call dword [sym.imp.KERNEL32.DLL_SuspendThread]
push dword [0x30024c04]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x3000fa00
lea edi, [ebx + 0x30c]
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 4], edi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, 0x30025964
mov edx, ecx
mov esi, edi
mov edi, eax
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.3000e4dd
test eax, eax
jne 0x3000f945
mov dword [0x30025c74], 1
cmp dword [ebx + 0x41c], 0
lea eax, [ebx + 0x104]
mov dword [0x3002595c], ebx
mov dword [0x30025960], eax
jne 0x3000f965
push ebx
call fcn.3000e2db
mov eax, dword [ebx + 0x410]
mov dword [0x30025c8c], eax
mov eax, dword [ebx + 0x414]
mov dword [0x30025c90], eax
mov eax, dword [ebx + 0x418]
mov dword [0x300270fc], eax
lea eax, [ebx + 0x428]
mov dword [ebp + 0xc], eax
mov dword [0x30025c98], eax
lea eax, [ebp - 0x18]
mov dword [0x30027100], eax
mov eax, dword [ebp + 8]
mov dword [0x30025c94], eax
mov eax, dword [ebx + 0x41c]
mov dword [0x300270f8], eax
mov eax, dword [ebx + 0x424]
mov dword [0x30027104], eax
call fcn.30011563
test eax, eax
je 0x3000f9d0
lea eax, [ebp - 0xc]
push eax
call fcn.3001157e
test eax, eax
je 0x3000f9fb
xor esi, esi
push esi
push 0x30008a74
push esi
push 0x67
push dword [0x300283bc]
call fcn.30007943
cmp dword [0x30024198], esi
je 0x3000f9fb
cmp dword [0x3002419c], esi
je 0x3000f9fb
call fcn.300092b4
mov edi, dword [ebp + 8]
xor esi, esi
cmp dword [ebp - 0x10], esi
push 1
pop eax
je 0x3000fa0e
mov dword [ebx + 0x420], eax
mov ecx, dword [ebx + 0x418]
cmp ecx, esi
je 0x3000fa2a
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push 0xc
push eax
push ecx
call fcn.3000f30f
push dword [ebx + 0x42c]
call fcn.3000e407
test eax, eax
jne 0x3000fa7a
push dword [ebp - 4]
push dword [ebx + 0x42c]
call fcn.3000e30c
test eax, eax
jne 0x3000fa7a
mov edx, dword [ebx + 0x42c]
cmp edx, esi
je 0x3000fa7a
mov edi, 0x3000f7dc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 8]
xor esi, esi
cmp dword [ebp - 8], esi
je 0x3000fa85
call dword [0x30024654]
cmp dword [ebp - 0xc], esi
jne 0x3000fa9e
cmp dword [ebx + 0x424], esi
jne 0x3000fa9e
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0xc]
call fcn.30009135
cmp dword [0x300270f4], esi
pop ebx
je 0x3000faaf
push dword [ebp - 0x10]
call fcn.3001164c
mov eax, dword [edi + 0x18]
cmp eax, esi
je 0x3000fabc
push eax
call fcn.3001dfaa
mov eax, dword [edi]
cmp eax, esi
je 0x3000fac8
push eax
call fcn.3001dfaa
mov eax, dword [edi + 4]
cmp eax, esi
je 0x3000fad5
push eax
call fcn.3001dfaa
mov eax, dword [edi + 8]
cmp eax, esi
je 0x3000fae2
push eax
call fcn.3001dfaa
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x3000faef
push eax
call fcn.3001dfaa
mov edi, dword [edi + 0x2c]
cmp edi, esi
je 0x3000fafc
push edi
call fcn.3001dfaa
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x30024244]
je 0x3000fb11
cmp eax, esi
je 0x3000fb11
push eax
call fcn.3001dfaa
pop edi
pop esi
leave
ret 0xc