Function at 0x10007b96
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x52c
mov eax, dword [0x10015820]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x47c], edi
cmp edi, ebx
je 0x10007bc6
lea esi, [edi - 8]
mov dword [ebp - 0x468], esi
jmp 0x10007bce
mov dword [ebp - 0x468], ebx
mov esi, ebx
push esi
call fcn.100092bd
pop ecx
test eax, eax
jns 0x10007be3
mov eax, 0x80004005
jmp 0x10008095
call fcn.1000962b
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], 0x80004005
cmp byte [0x10015900], bl
je 0x10008014
mov ecx, dword [0x100158f4]
cmp ecx, ebx
je 0x10008034
call fcn.100096ad
test al, al
je 0x10008034
cmp byte [0x10015901], bl
jne 0x10007e4a
mov edi, 0x200
push edi
lea eax, [ebp - 0x204]
push ebx
push eax
mov dword [ebp - 0x484], edi
call sub.MSVCR100.dll_memset
mov eax, dword [esi + 0x24]
lea ecx, [ebp - 0x480]
push ecx
lea ecx, [ebp - 0x484]
push ecx
lea ecx, [ebp - 0x204]
push ecx
push 0x100100ac
push eax
mov dword [ebp - 0x480], ebx
call fcn.1000a248
add esp, 0x20
mov dword [ebp - 0x46c], eax
cmp eax, ebx
jl 0x10007bd9
mov eax, dword [ebp - 0x480]
push eax
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x458]
push edi
push eax
call dword [sym.imp.MSVCR100.dll_memcpy_s]
mov edi, dword [ebp - 0x470]
add esp, 0x10
push ebx
push ebx
lea eax, [ebp - 0x464]
push eax
push 0x100079e3
push ebx
push ebx
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x460], edi
call dword [sym.imp.kernel32.dll_CreateThread]
cmp eax, ebx
je 0x10007bd9
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
push str.PDFPrev_Event_Success
lea ecx, [ebp - 0x23c]
call fcn.1000a248
push str.PDFPrev_Event_Failure
lea ecx, [ebp - 0x220]
call fcn.1000a248
push 1
push 3
lea ecx, [ebp - 0x52c]
call fcn.1000648f
push edi
lea ecx, [ebp - 0x51c]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______thiscall_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___int_]
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x52c]
call fcn.1000a248
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x23c]
call fcn.1000a248
push ebx
push 1
lea ecx, [ebp - 0x258]
call fcn.1000a248
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x52c]
call fcn.1000a248
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x220]
call fcn.1000a248
push ebx
push 1
lea ecx, [ebp - 0x258]
call fcn.1000a248
cmp dword [ebp - 0x228], 8
mov eax, dword [ebp - 0x23c]
jae 0x10007d89
lea eax, [ebp - 0x23c]
mov edi, dword [sym.imp.kernel32.dll_CreateEventW]
push eax
push ebx
push 1
push ebx
call edi
cmp dword [ebp - 0x20c], 8
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x220]
jae 0x10007db1
lea eax, [ebp - 0x220]
push eax
push ebx
push 1
push ebx
call edi
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x478], ebx
je 0x10007e12
cmp eax, ebx
je 0x10007e12
push 2
lea eax, [ebp - 0x478]
push eax
mov ecx, esi
call fcn.1000a248
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], ebx
mov edi, dword [ebp - 0x468]
lea edi, [ebp + edi*4 - 0x478]
push dword [edi]
call dword [sym.imp.kernel32.dll_ResetEvent]
push dword [edi]
call dword [sym.imp.kernel32.dll_CloseHandle]
inc dword [ebp - 0x468]
cmp dword [ebp - 0x468], 2
jl 0x10007de6
lea ecx, [ebp - 0x4cc]
call fcn.10005328
lea ecx, [ebp - 0x4cc]
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::destructor_void_]
push ebx
push 1
lea ecx, [ebp - 0x220]
call fcn.1000a248
push ebx
push 1
lea ecx, [ebp - 0x23c]
call fcn.1000a248
jmp 0x1000800c
push ebx
push ebx
add esi, 0x58
push esi
push 0x100078b7
push ebx
push ebx
call dword [sym.imp.kernel32.dll_CreateThread]
cmp eax, ebx
je 0x10007bd9
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov esi, dword [sym.imp.MSVCR100.dll_wcslen]
xor eax, eax
mov edi, str.PDFPrev_Event_Success
push edi
mov dword [ebp - 0x20c], 7
mov dword [ebp - 0x210], ebx
mov word [ebp - 0x220], ax
call esi
pop ecx
push eax
push edi
lea ecx, [ebp - 0x220]
call fcn.1000a248
mov edi, str.prev
push edi
mov dword [ebp - 0x470], eax
call esi
pop ecx
mov ecx, dword [ebp - 0x470]
push eax
push edi
call fcn.1000a248
cmp dword [ebp - 0x20c], 8
mov eax, dword [ebp - 0x220]
jae 0x10007ed2
lea eax, [ebp - 0x220]
push eax
push ebx
push 1
push ebx
call dword [sym.imp.kernel32.dll_CreateEventW]
cmp dword [ebp - 0x20c], 8
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x210], ebx
jae 0x10007efe
lea eax, [ebp - 0x220]
xor ecx, ecx
push str.PDFPrev_Event_Failure
mov word [eax], cx
call esi
pop ecx
push eax
push str.PDFPrev_Event_Failure
lea ecx, [ebp - 0x220]
call fcn.1000a248
push edi
mov dword [ebp - 0x470], eax
call esi
pop ecx
mov ecx, dword [ebp - 0x470]
push eax
push edi
call fcn.1000a248
cmp dword [ebp - 0x20c], 8
mov eax, dword [ebp - 0x220]
jae 0x10007f48
lea eax, [ebp - 0x220]
push eax
push ebx
push 1
push ebx
call dword [sym.imp.kernel32.dll_CreateEventW]
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x478], ebx
je 0x10007ff8
cmp eax, ebx
je 0x10007ff8
mov ecx, dword [ebp - 0x468]
push 2
lea eax, [ebp - 0x478]
push eax
call fcn.1000a248
mov dword [ebp - 0x46c], eax
xor edi, edi
lea esi, [ebp + edi*4 - 0x478]
push dword [esi]
call dword [sym.imp.kernel32.dll_ResetEvent]
push dword [esi]
call dword [sym.imp.kernel32.dll_CloseHandle]
inc edi
cmp edi, 2
jl 0x10007f89
cmp dword [ebp - 0x46c], ebx
jl 0x10007ff8
mov ecx, dword [0x100158f4]
push 0xffffffffffffffff
push ebx
push ebx
push 0x19f
call fcn.100096b1
mov esi, eax
cmp esi, ebx
je 0x10007ff8
push dword [esi + 8]
mov edi, dword [ebp - 0x468]
lea eax, [esi + 0xc]
push eax
add edi, 0x5c
push edi
call sub.MSVCR100.dll_memcpy
mov eax, dword [edi]
mov ecx, dword [ebp - 0x468]
push esi
mov dword [ecx + 0x28], eax
mov dword [ebp - 0x46c], ebx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x220]
call fcn.1000a248
mov esi, dword [ebp - 0x468]
mov edi, dword [ebp - 0x47c]
jmp 0x1000802c
mov eax, dword [0x1001590c]
mov ecx, dword [eax]
lea edx, [esi + 0x28]
push edx
push dword [esi + 0x58]
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x46c], eax
cmp dword [ebp - 0x46c], ebx
jge 0x1000804b
mov ecx, dword [0x100158f8]
cmp ecx, ebx
je 0x10008043
call fcn.10009f70
mov eax, dword [ebp - 0x46c]
jmp 0x10008095
push 0x10
lea eax, [esi + 0x44]
push ebx
push eax
call sub.MSVCR100.dll_memset
mov eax, dword [edi]
add esp, 0xc
lea ecx, [esi + 0x34]
push ecx
push dword [esi + 0x2c]
push edi
call dword [eax + 0xc]
mov esi, dword [esi + 0x28]
push esi
push 1
push 0x417
push esi
mov edi, eax
call dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
jne 0x10008093
mov ecx, dword [0x100158f8]
cmp ecx, ebx
je 0x1000808e
call fcn.10009f70
mov edi, 0x80004005
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000b904
leave
ret 4