Function at 0x4bb9a0
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56ac66
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push esi
push edi
mov eax, dword [0x61308c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1c], edi
call fcn.004bc160
mov esi, dword [0x61e798]
test esi, esi
jne 0x4bba19
push 0x20
call fcn.005120b2
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov ecx, esi
movups xmmword [esi + 0x10], xmm0
call fcn.004c3fe0
mov byte [ebp - 4], 1
mov dword [esi], vtable.CInitExThread_Instanst.0
mov dword [ebp - 4], 0xffffffff
mov dword [0x61e798], esi
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4bba39
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x10], 0
push 0
push 0
push 0x464
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
mov eax, dword [0x61e7e8]
test eax, eax
jne 0x4bba7b
push 0x68
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 2
mov ecx, eax
call fcn.0043f680
mov dword [ebp - 4], 0xffffffff
mov dword [0x61e7e8], eax
mov ecx, eax
call fcn.0043f840
push 0
push 0
push 0
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x4bc07c
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x50]
add eax, 0xfffffb9c
cmp eax, 0xe
ja case.0x4bbab1.1129
jmp dword [eax*4 + 0x4bc11c]
mov eax, dword [edi + 0x24]
add eax, dword [edi + 0x28]
cmp eax, 1
jle 0x4bbad2
mov eax, dword [0x61de58]
test eax, eax
je 0x4bbad2
push 0
push 1
call eax
push 0
push 0
push 1
push 0
mov dword [ebp - 0x38], vtable.base_thread.0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 3
mov dword [ebp - 0x38], vtable.CDrvBackQueryThread.0
mov dword [ebp - 4], 4
cmp dword [ebp - 0x30], 0
jne 0x4bbb37
push ecx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
push eax
sub esp, 0xc
mov ecx, eax
call fcn.0040f050
mov ecx, edi
call fcn.004bd210
push 0
lea ecx, [ebp - 0x38]
call fcn.0040f140
call fcn.00415660
push 0
push 1
push 0x47b
push dword [eax]
call esi
mov ecx, edi
call fcn.004bdb10
test al, al
je 0x4bbb72
call fcn.004bdb20
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x4bbb82
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xea60
push dword [edi + 0x44]
call esi
mov eax, dword [edi + 0x24]
add eax, dword [edi + 0x28]
cmp eax, 1
jne 0x4bbba0
push 0x2710
push dword [edi + 0x48]
call esi
push dword [edi + 0x48]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbbbb
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbbbb
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x46a
push dword [eax]
call esi
mov byte [edi + 0x34], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x38], vtable.CDrvBackQueryThread.0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], vtable.base_thread.0
test eax, eax
je 0x4bbc08
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4bbc1d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4bc064
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
cmp eax, 1
jne 0x4bc064
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x4bc064
mov eax, dword [0x61ddf8]
test eax, eax
je 0x4bbc55
push 0
call eax
mov ecx, edi
call fcn.004bd210
cmp byte [edi + 0x43], 0
je 0x4bbc69
mov ecx, edi
call fcn.004bdb20
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbc84
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbc84
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x46b
push dword [eax]
call esi
jmp 0x4bc064
call fcn.004bd090
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbcc1
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbcc1
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x46c
push dword [eax]
call esi
mov byte [edi + 0x34], 0
jmp 0x4bc064
mov eax, dword [0x61dec8]
test eax, eax
je 0x4bbced
call eax
mov ecx, edi
call fcn.004bc820
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbd0f
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbd0f
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x46e
push dword [eax]
call esi
jmp 0x4bc064
mov eax, dword [0x61dec8]
test eax, eax
je 0x4bbd37
call eax
mov ecx, edi
call fcn.004bcde0
jmp 0x4bbc69
push ecx
call fcn.004bd450
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbd64
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbd64
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x47b
push dword [eax]
call esi
jmp 0x4bc064
push ecx
call fcn.004bd850
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbda2
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbda2
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x481
push dword [eax]
call esi
jmp 0x4bc064
push ecx
call fcn.004bd9a0
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x4bbde0
call fcn.00415660
mov al, byte [eax + 9]
test al, al
jne 0x4bbde0
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CProgressUI::EndTask_void_]
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x48a
push dword [eax]
call esi
jmp 0x4bc064
mov eax, dword [0x61de5c]
test eax, eax
je 0x4bbe16
push 0xbb8
push 1
push dword [ebp - 0x48]
call eax
test eax, eax
jne 0x4bbe21
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x14], eax
call fcn.00420dd0
test al, al
je 0x4bbe60
call fcn.00415660
mov esi, 0x29
mov byte [eax + 8], 1
call fcn.00415660
push dword [ebp - 0x48]
push esi
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0x490
push dword [eax]
call esi
jmp 0x4bc064
lea ecx, [ebp - 0x14]
call fcn.0041fa30
cmp eax, 0x16
mov eax, 0x2b
cmove esi, eax
call fcn.00415660
push dword [ebp - 0x48]
push esi
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0x490
push dword [eax]
call esi
jmp 0x4bc064
mov esi, dword [ebp - 0x48]
call fcn.00422cb0
mov eax, dword [eax + 0x54]
test eax, eax
je 0x4bbea6
push 0
push 1
push esi
call eax
call fcn.00415660
push dword [ebp - 0x48]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0x490
push dword [eax]
call esi
jmp 0x4bc064
call fcn.0046f2b0
mov esi, eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4bbeeb
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x10], 0
push 0
push 0
push 0x464
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4bc064
xor eax, eax
mov esi, 0x613af8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esi
mov eax, dword [0x61dea0]
test eax, eax
je 0x4bbf76
push esi
call eax
mov edx, eax
mov dword [ebp - 0x18], edx
test edx, edx
je 0x4bbf76
mov ecx, dword [0x61de9c]
test ecx, ecx
je 0x4bbf3e
push edx
call ecx
mov edx, dword [ebp - 0x18]
mov edi, eax
jmp 0x4bbf40
xor edi, edi
xor esi, esi
test edi, edi
jle 0x4bbf73
mov eax, dword [0x61de98]
test eax, eax
je 0x4bbf6b
push esi
push edx
call eax
test eax, eax
je 0x4bbf6b
mov ecx, dword [0x61de20]
test ecx, ecx
je 0x4bbf6b
push eax
call ecx
test eax, eax
jle 0x4bbf6b
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
inc esi
cmp esi, edi
jl 0x4bbf46
mov esi, dword [ebp - 0x10]
add esi, 0x10
mov dword [ebp - 0x10], esi
cmp esi, 0x613bf8
jl 0x4bbf15
mov esi, dword [0x61e774]
test esi, esi
jne 0x4bbfc8
push 0x2a8
call fcn.005120b2
mov esi, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], 6
push 0x2a8
push 0
push esi
call fcn.0052d340
add esp, 0x10
mov ecx, esi
call fcn.00442c50
mov dword [ebp - 4], 0xffffffff
mov dword [0x61e774], esi
mov eax, dword [ebp - 0x14]
push 0
push eax
push 0x7f0
push dword [esi]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
call esi
mov edi, dword [ebp - 0x1c]
jmp 0x4bc064
mov eax, dword [0x61dddc]
mov esi, dword [ebp - 0x4c]
test eax, eax
je 0x4bbffc
push esi
call eax
mov edi, eax
test edi, edi
jne 0x4bc01e
jmp 0x4bbffe
xor edi, edi
push esi
push str.PCI_ExportHWToFile_Failed__path__S_
push 0x197
push 0x5c0f24
push 1
call fcn.0040a150
push eax
call fcn.0040a3e0
add esp, 0x18
push esi
call fcn.0051211f
add esp, 4
call fcn.00415660
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [eax]
xor eax, eax
test edi, edi
sete al
push eax
push 0
push 0x46d
push ecx
call esi
mov edi, dword [ebp - 0x1c]
jmp 0x4bc064
mov edx, dword [ebp - 0x48]
mov ecx, 0x5973c4
call fcn.00448030
jmp 0x4bc064
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x4bbaa0
mov eax, dword [0x61dea4]
test eax, eax
je 0x4bc087
call eax
mov eax, dword [0x618d28]
test eax, eax
jne 0x4bc0b7
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 8
mov ecx, eax
call fcn.00409ee0
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], eax
push str.CPcidrvInterface::PCIDrv_Unit___r_n
push 0x1ab
push 0x5c0f5c
push 8
push eax
call fcn.0040a3e0
mov eax, dword [0x61e7e8]
add esp, 0x14
test eax, eax
jne 0x4bc101
push 0x68
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 9
mov ecx, eax
call fcn.0043f680
mov dword [ebp - 4], 0xffffffff
mov dword [0x61e7e8], eax
mov ecx, eax
call fcn.0043f9a0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret