Function at 0x7b324a00
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [0x7b3427e0]
mov dword [ebp - 0x14], eax
mov edi, eax
test byte [0x7b33c0f8], 8
je 0x7b324a74
cmp dword [ebp + 0x10], 1
mov dword [esp + 0x14], str.__s___s__mapper_c___n
sbb eax, eax
mov dword [esp + 0x10], 0x1bf
and eax, 0xfffffff5
mov dword [esp + 0xc], str.MMDRV_Install
add eax, 0x59
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [esp], 3
mov dword [esp + 0x18], eax
call sym._ros_dbg_log
mov edi, dword [0x7b3427e0]
test edi, edi
jle 0x7b324ab0
mov ebx, 0x7b342544
xor esi, esi
jmp 0x7b324a8b
add esi, 1
add ebx, 0x54
cmp esi, edi
je 0x7b324ab0
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x7b324a81
xor ebx, ebx
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
imul esi, dword [ebp - 0x14], 0x54
xor eax, eax
mov ecx, 0x15
lea edi, [esi + 0x7b342540]
mov dword [ebp - 0x18], edi
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.winmm.dll_DrvOpenA
sub esp, 0xc
mov dword [esi + 0x7b342540], eax
test eax, eax
je 0x7b324ee0
mov dword [esp], eax
call sym._DRIVER_FindFromHDrvr
mov eax, dword [esi + 0x7b342540]
mov dword [esp], eax
call sym._DRIVER_FindFromHDrvr
mov edi, eax
test eax, eax
je 0x7b325080
mov eax, dword [eax + 8]
test eax, eax
je 0x7b324f53
mov dword [esp + 4], str.auxMessage
xor ebx, ebx
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
je 0x7b324b8e
mov edx, dword [ebp - 0x18]
mov ebx, 1
mov dword [edx + 0x14], eax
test byte [0x7b33c0f8], 8
je 0x7b324b8e
mov dword [esp + 0x1c], str.auxMessage
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], str.Got__d_bit_func__s_n
mov dword [esp + 0x10], 0x1e3
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 3
call sym._ros_dbg_log
mov dword [esp + 4], str.mxdMessage
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
je 0x7b324c02
imul ecx, dword [ebp - 0x14], 0x54
add ebx, 1
mov dword [ecx + 0x7b342560], eax
test byte [0x7b33c0f8], 8
je 0x7b324c02
mov dword [esp + 0x1c], str.mxdMessage
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], str.Got__d_bit_func__s_n
mov dword [esp + 0x10], 0x1e4
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 3
call sym._ros_dbg_log
mov dword [esp + 4], str.midMessage
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
je 0x7b324c76
imul ecx, dword [ebp - 0x14], 0x54
add ebx, 1
mov dword [ecx + 0x7b34256c], eax
test byte [0x7b33c0f8], 8
je 0x7b324c76
mov dword [esp + 0x1c], str.midMessage
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], str.Got__d_bit_func__s_n
mov dword [esp + 0x10], 0x1e5
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 3
call sym._ros_dbg_log
mov dword [esp + 4], str.modMessage
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
je 0x7b324cea
imul ecx, dword [ebp - 0x14], 0x54
add ebx, 1
mov dword [ecx + 0x7b342578], eax
test byte [0x7b33c0f8], 8
je 0x7b324cea
mov dword [esp + 0x1c], str.modMessage
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], str.Got__d_bit_func__s_n
mov dword [esp + 0x10], 0x1e6
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 3
call sym._ros_dbg_log
mov dword [esp + 4], str.widMessage
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
je 0x7b324f2d
imul ecx, dword [ebp - 0x14], 0x54
mov dword [ecx + 0x7b342584], eax
test byte [0x7b33c0f8], 8
jne 0x7b324fee
mov dword [esp + 4], str.wodMessage
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
je 0x7b324d50
imul edx, dword [ebp - 0x14], 0x54
mov dword [edx + 0x7b342590], eax
test byte [0x7b33c0f8], 8
jne 0x7b325037
imul edx, dword [ebp - 0x14], 0x54
movzx ecx, byte [ebp + 0x10]
and ecx, 1
movzx eax, byte [edx + 0x7b342548]
and eax, 0xfffffffe
or eax, ecx
mov byte [edx + 0x7b342548], al
mov eax, dword [ebp + 8]
add edx, 0x7b342540
mov dword [ebp - 0x1c], edx
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strlen]
mov edi, eax
call sym._GetProcessHeap_0
add edi, 1
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov dword [esp], eax
call sym._HeapAlloc_12
mov edx, dword [ebp + 8]
sub esp, 0xc
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strcpy
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov ecx, 3
mov dword [edx + 4], eax
xor edx, edx
mov eax, edi
call sym._MMDRV_InitPerType
mov ecx, 1
mov edx, 1
mov ebx, eax
mov eax, edi
call sym._MMDRV_InitPerType
mov ecx, 0x35
mov edx, 2
or ebx, eax
mov eax, edi
setne bl
movzx ebx, bl
call sym._MMDRV_InitPerType
test eax, eax
je 0x7b324dfe
mov ebx, 1
mov edi, dword [ebp - 0x18]
mov ecx, 1
mov edx, 3
mov eax, edi
call sym._MMDRV_InitPerType
mov ecx, 0x32
mov edx, 4
test eax, eax
jne 0x7b324fbe
mov eax, edi
call sym._MMDRV_InitPerType
test eax, eax
jne 0x7b324fc6
mov eax, dword [ebp - 0x18]
mov ecx, 3
mov edx, 5
call sym._MMDRV_InitPerType
or ebx, eax
jne 0x7b324fd8
imul esi, dword [ebp - 0x14], 0x54
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [esi + 0x7b342540]
mov dword [esp], eax
call sym.winmm.dll_CloseDriver
mov esi, dword [esi + 0x7b342544]
sub esp, 0xc
call sym._GetProcessHeap_0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
sub esp, 0xc
test byte [0x7b33c0f8], 4
je 0x7b324aa0
mov dword [esp + 0x14], str.Driver_initialization_failed_n
mov dword [esp + 0x10], 0x206
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 2
call sym._ros_dbg_log
jmp 0x7b324aa2
test byte [0x7b33c0f8], 4
je 0x7b324aa0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], str.Couldnt_open_driver__s_n
mov dword [esp + 0x10], 0x1ce
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 2
call sym._ros_dbg_log
jmp 0x7b324aa0
mov dword [esp + 4], str.wodMessage
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._GetProcAddress_8
sub esp, 8
test eax, eax
jne 0x7b324d39
test ebx, ebx
jne 0x7b324d50
imul esi, dword [ebp - 0x14], 0x54
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [esi + 0x7b342540]
mov dword [esp], eax
call sym.winmm.dll_CloseDriver
sub esp, 0xc
test byte [0x7b33c0f8], 4
je 0x7b324aa0
mov dword [esp + 0x14], str.No_message_functions_found_n
mov dword [esp + 0x10], 0x1ef
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 2
call sym._ros_dbg_log
jmp 0x7b324aa0
mov eax, dword [ebp - 0x18]
call sym._MMDRV_InitPerType
mov eax, dword [ebp - 0x18]
mov ecx, 3
mov edx, 5
call sym._MMDRV_InitPerType
mov ebx, 1
add dword [0x7b3427e0], 1
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x1c], str.widMessage
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], str.Got__d_bit_func__s_n
mov dword [esp + 0x10], 0x1e7
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x7b324d1f
mov dword [esp + 0x1c], str.wodMessage
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], str.Got__d_bit_func__s_n
mov dword [esp + 0x10], 0x1e8
mov dword [esp + 0xc], str.MMDRV_Install
mov dword [esp + 8], 0x7b33d6e5
mov dword [esp + 4], 0x7b33c0f8
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x7b324d50
mov eax, dword [esi + 0x7b342540]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.winmm.dll_CloseDriver
sub esp, 0xc
test byte [0x7b33c0f8], 4
je 0x7b324aa0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], str.Couldnt_get_the_WINE_internal_structure_for_driver__s_n
mov dword [esp + 0x10], 0x1d6
mov dword [esp + 0x18], eax
jmp 0x7b324f04