Function at 0x1001a930
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10055beb
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x101c200c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [0x101c40c8], 0x40
jl 0x1001a98d
push 0x101c40cc
call fcn.100375e0
mov ebx, dword [0x101c40c4]
add esp, 4
test ebx, ebx
je 0x1001a97f
mov eax, dword [ebx]
mov dword [0x101c40c4], eax
mov dword [0x101c40cc], 1
test ebx, ebx
jne 0x1001a9a8
push 0x40
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x1001b050
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], 0
mov dword [ebx], vtable.CRefObject.0
mov dword [ebx + 4], 1
mov byte [ebp - 4], 1
lea eax, [ebx + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push eax
mov dword [ebx], vtable.CVolEventObjectPointer.0
call esi
mov byte [ebp - 4], 2
lea eax, [ebx + 0x24]
push eax
call esi
mov byte [ebp - 4], 3
mov dword [ebx + 8], 0
mov dword [ebx + 0x3c], edi
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x24]
push esi
mov dword [edi + 0x4e4c], ebx
mov dword [edi + 0x10], 0x1f7
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 4], 0x10011f90
mov dword [esi + 0xc], 0
cmp edx, ebx
jne 0x1001aa2a
mov dword [esi], 1
jmp 0x1001aa45
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001aa45
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x634]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001aa70
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001aa8d
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001aa83
mov dword [esi], 1
jmp 0x1001aa9e
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001aa9e
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0xcc4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001aac9
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001aae6
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001aadc
mov dword [esi], 1
jmp 0x1001aaf7
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001aaf7
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x1354]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ab22
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001ab3f
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001ab35
mov dword [esi], 1
jmp 0x1001ab50
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ab50
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x19e4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ab7b
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001ab98
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001ab8e
mov dword [esi], 1
jmp 0x1001aba9
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001aba9
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x2704]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001abd4
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001abf1
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001abe7
mov dword [esi], 1
jmp 0x1001ac02
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ac02
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x2854]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ac2d
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001ac4a
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001ac40
mov dword [esi], 1
jmp 0x1001ac5b
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ac5b
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x2af4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ac86
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001aca3
mov dword [esi + 4], 0x10012140
cmp edx, ebx
jne 0x1001ac99
mov dword [esi], 1
jmp 0x1001acb4
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001acb4
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x2c44]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001acdf
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001acfc
mov dword [esi + 4], 0x10012140
cmp edx, ebx
jne 0x1001acf2
mov dword [esi], 1
jmp 0x1001ad0d
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ad0d
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x2ee4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ad38
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001ad55
mov dword [esi + 4], 0x10012140
cmp edx, ebx
jne 0x1001ad4b
mov dword [esi], 1
jmp 0x1001ad66
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ad66
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x36c4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ad91
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001adae
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001ada4
mov dword [esi], 1
jmp 0x1001adbf
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001adbf
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x3d54]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001adea
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001ae07
mov dword [esi + 4], 0x10012140
cmp edx, ebx
jne 0x1001adfd
mov dword [esi], 1
jmp 0x1001ae18
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ae18
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x3ff4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ae43
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001ae60
mov dword [esi + 4], 0x10012140
cmp edx, ebx
jne 0x1001ae56
mov dword [esi], 1
jmp 0x1001ae71
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001ae71
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x4684]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001ae9c
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001aeb9
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001aeaf
mov dword [esi], 1
jmp 0x1001aeca
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001aeca
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x47d4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001aef5
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001af12
mov dword [esi + 4], 0x10012120
cmp edx, ebx
jne 0x1001af08
mov dword [esi], 1
jmp 0x1001af23
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001af23
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x4bc4]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001af4e
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001af6b
mov dword [esi + 4], 0x10012140
cmp edx, ebx
jne 0x1001af61
mov dword [esi], 1
jmp 0x1001af7c
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001af7c
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ebx, dword [edi + 0x4e4c]
lea esi, [edi + 0x4e1c]
push esi
call fcn.100375e0
mov edx, dword [esi + 8]
add esp, 4
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1001afa7
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x1001afc4
mov dword [esi + 4], 0x10011f70
cmp edx, ebx
jne 0x1001afba
mov dword [esi], 1
jmp 0x1001afd5
mov ecx, ebx
mov dword [esi + 8], ebx
call fcn.10031310
mov dword [esi], 1
test edx, edx
je 0x1001afd5
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov esi, dword [edi + 0x4e4c]
add edi, 0x4e3c
push edi
call fcn.100375e0
mov edx, dword [edi + 8]
add esp, 4
mov dword [edi + 0xc], 0
test esi, esi
jne 0x1001b000
mov dword [edi + 4], esi
mov dword [edi + 8], esi
jmp 0x1001b02d
mov dword [edi + 4], 0x10011f70
cmp edx, esi
jne 0x1001b023
mov dword [edi], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
mov dword [edi + 8], esi
call fcn.10031310
mov dword [edi], 1
test edx, edx
je 0x1001b03e
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xffffffffffffffff
call fcn.10041c16
int3