Function at 0x3003465c
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x3002223c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x228], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x24c], ebx
lea edi, [ebp - 0x248]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x21c
stosd dword es:[edi], eax
lea eax, [ebp - 0x220]
push ebx
push eax
mov dword [ebp - 0x224], ebx
call sub.MSVCR80.dll_memset
add esp, 0xc
cmp dword [0x300c1bc0], 5
mov dword [ebp - 0x22c], ebx
je 0x300346c1
mov dword [0x3008b748], ebx
xor eax, eax
lea edi, [ebp - 0x238]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.3002f91e
mov edi, dword [ebp - 0x228]
lea eax, [edi + 0x44]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.3002f8f0
cmp dword [0x300c1bc0], 5
mov dword [0x300c7a90], ebx
mov dword [0x300c7a94], ebx
je 0x3003470d
mov dword [0x300c7ab0], ebx
lea eax, [esi + 0x1144]
mov dword [0x300c7ab8], eax
lea eax, [esi + 0x1160]
mov dword [0x300c7abc], eax
lea eax, [esi + 0x116c]
mov dword [0x300c7ac0], eax
lea eax, [ebp - 0x238]
mov dword [0x300c7ac4], eax
mov eax, dword [esi + 0x111c]
mov dword [0x300c7ac8], eax
mov dword [0x300c7acc], ebx
mov eax, dword [esi + 0x1110]
mov dword [0x300c7ad8], eax
mov eax, dword [esi + 0x1138]
mov dword [0x300c7adc], eax
mov eax, dword [esi + 0x113c]
mov dword [0x300c7ae0], eax
lea eax, [esi + 0x1120]
mov dword [0x300c7ae4], edi
mov dword [0x300c7ae8], eax
mov ecx, dword [esi + 0x1180]
mov dword [eax + 0x14], ecx
mov dword [0x300c7aec], ebx
test dword [esi + 0x1140], 0x10000000
mov dword [ebp - 0x23c], eax
je 0x3003485d
cmp dword [0x300c1bc0], ebx
jne 0x30034812
call fcn.3002f8d2
test eax, eax
je 0x300347ff
mov eax, dword [0x300bfc58]
test byte [eax + 0x2c], 0x20
jne 0x300347ff
push 0x300c012c
push 0x104
push 0x300c013c
call fcn.3004251e
mov eax, dword [0x300bfc58]
test byte [eax + 0x38], 0x20
mov eax, 0x30004998
jne 0x300347e6
mov eax, 0x30004980
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 0x30034812
call fcn.3003da0a
test eax, eax
je 0x30034812
push 0x30001790
call fcn.3003daa4
lea eax, [ebp - 0x224]
push eax
call fcn.3002d6f4
push 1
lea eax, [ebp - 0x224]
push eax
call fcn.3002eaa6
test eax, eax
je 0x3003484c
lea eax, [ebp - 0x224]
push eax
push esi
push edi
call fcn.3002f485
test eax, eax
je 0x3003484c
mov dword [0x300c7a88], 1
lea eax, [ebp - 0x224]
push eax
call fcn.3002e809
jmp 0x30034a69
call fcn.30031fe6
test eax, eax
je 0x30034903
mov eax, dword [esi + 0x1104]
cmp eax, ebx
je 0x300348f3
cmp word [eax], bx
je 0x300348f3
mov dword [0x300bcf38], eax
mov dword [0x300c7aec], 1
cmp dword [esi + 0x111c], ebx
push ebx
je 0x3003489b
call fcn.300340bd
jmp 0x30034a69
push 0x3003b756
push dword [0x300c1878]
push 0x67
push dword [0x3008b480]
call fcn.300351ab
mov eax, dword [0x300c7ab0]
cmp eax, ebx
je 0x30034a69
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x300348dc
push dword [0x300c7ab0]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [0x300c7ab0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x300c7ab0], ebx
jmp 0x30034a69
push ebx
push 0x30303030
call fcn.300434a3
jmp 0x30034a69
push 0x1000
push ebx
push 0x300bda38
mov dword [0x300bcf8c], ebx
mov dword [0x300bcfb0], ebx
mov dword [0x300bcfb4], ebx
mov dword [0x300bcfb8], ebx
mov dword [0x300bcfbc], ebx
mov dword [0x300bcfc0], ebx
mov byte [0x300bd8e8], bl
mov dword [0x300bd9ec], ebx
mov dword [0x300bd9fc], ebx
mov dword [0x300bda00], ebx
mov dword [0x300bda34], ebx
call sub.MSVCR80.dll_memset
push 0x800
push ebx
push 0x300bea40
mov dword [0x300bea38], ebx
mov dword [0x300bea3c], ebx
call sub.MSVCR80.dll_memset
mov edi, 0x104
push edi
push ebx
push 0x300bf240
call sub.MSVCR80.dll_memset
push 0x800
push ebx
push 0x300bf344
call sub.MSVCR80.dll_memset
push edi
push ebx
push 0x300bfb44
call sub.MSVCR80.dll_memset
add esp, 0x3c
lea eax, [esi + 0x800]
push edi
mov dword [0x300bcfe0], eax
push 0x300bcfe4
lea eax, [esi + 0x1000]
push eax
mov dword [0x300bfc48], ebx
mov dword [0x300bfc50], ebx
mov dword [0x300bcfdc], esi
call fcn.3005b2f6
cmp dword [0x300c1bc0], 5
mov eax, dword [esi + 0x1108]
mov dword [0x300bda04], eax
mov eax, dword [esi + 0x110c]
mov dword [0x300bda08], eax
mov eax, dword [esi + 0x1114]
mov dword [0x300bfc54], eax
jne 0x30034a04
mov eax, dword [0x300c7ad0]
mov dword [0x300c7a94], eax
cmp dword [esi + 0x111c], ebx
push ebx
je 0x30034a14
call fcn.30033f67
jmp 0x30034a63
push 0x3003b756
push dword [0x300c1878]
push 0x67
push dword [0x3008b480]
call fcn.300351ab
mov eax, dword [0x300c7ab0]
cmp eax, ebx
je 0x30034a63
push 0x4e20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x30034a51
push dword [0x300c7ab0]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [0x300c7ab0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x300c7ab0], ebx
mov edi, dword [ebp - 0x228]
xor eax, eax
inc eax
cmp dword [ebp - 0x230], ebx
je 0x30034a7f
mov dword [esi + 0x1118], eax
mov dword [0x300c7a88], eax
mov ecx, dword [esi + 0x1110]
cmp ecx, ebx
je 0x30034aa4
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x248], eax
push 0x10
lea eax, [ebp - 0x24c]
push eax
push ecx
call fcn.30041674
call fcn.3003210c
push ebx
push ebx
call dword [0x300bccc0]
test eax, eax
jl 0x30034abf
mov dword [ebp - 0x22c], 1
cmp dword [0x300c1bc0], 5
je 0x30034ad4
cmp dword [esi + 0x111c], ebx
jne 0x30034ad4
xor eax, eax
jmp 0x30034ad7
xor eax, eax
inc eax
push eax
push ebx
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x23c]
call fcn.30039979
cmp dword [ebp - 0x22c], ebx
je 0x30034af9
call dword [0x300bccbc]
mov eax, dword [edi + 0x20]
cmp eax, ebx
je 0x30034b06
push eax
call fcn.3004304e
mov eax, dword [edi]
cmp eax, ebx
je 0x30034b12
push eax
call fcn.3004304e
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x30034b1f
push eax
call fcn.3004304e
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x30034b2c
push eax
call fcn.3004304e
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x30034b39
push eax
call fcn.3004304e
mov eax, dword [edi + 0x10]
cmp eax, ebx
je 0x30034b46
push eax
call fcn.3004304e
mov edi, dword [edi + 0x38]
cmp edi, ebx
je 0x30034b53
push edi
call fcn.3004304e
mov eax, dword [ebp - 0x234]
cmp eax, dword [0x3008b5b4]
je 0x30034b6b
cmp eax, ebx
je 0x30034b6b
push eax
call fcn.3004304e
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.3006961b
leave
ret 8