Function at 0x100023c0
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x284
mov dword [0x1000f51c], 0
push ebp
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.IsBMUDisk1_r_n
call edi
mov eax, dword [0x1000f264]
test eax, eax
jne 0x10002407
push 0x1000f264
push str.UDLL_CreateCUSBDevice
mov ecx, 0x1000f250
call fcn.10002a30
mov dword [0x1000f260], eax
mov eax, dword [0x1000f264]
mov ebp, 2
cmp eax, ebp
je 0x10002463
push 0x1000c2e0
push 0x65
call fcn.10001ea0
add esp, 8
test eax, eax
je 0x10002498
mov eax, dword [0x1000f25c]
push 1
push eax
mov ecx, 0x1000f250
call fcn.10002730
mov eax, dword [0x1000f264]
test eax, eax
jne 0x10002457
push 0x1000f264
push str.UDLL_CreateCUSBDevice
mov ecx, 0x1000f250
call fcn.10002a30
mov dword [0x1000f260], eax
cmp dword [0x1000f264], ebp
je 0x1000248d
xor eax, eax
jmp 0x10002493
test eax, eax
jne 0x10002485
push 0x1000f264
push str.UDLL_CreateCUSBDevice
mov ecx, 0x1000f250
call fcn.10002a30
mov dword [0x1000f260], eax
mov eax, dword [0x1000f264]
cmp eax, ebp
je 0x1000248d
xor eax, eax
jmp 0x10002493
call dword [0x1000f260]
mov dword [0x1000f510], eax
mov eax, dword [0x1000f15c]
test eax, eax
jne 0x100024bf
push 0x1000f15c
push 0x1000c2c8
mov ecx, 0x1000f148
call fcn.10002a30
mov dword [0x1000f158], eax
mov eax, dword [0x1000f15c]
cmp eax, ebp
je 0x10002535
push 0x1000c2b8
push 0x66
call fcn.10001ea0
push str.ITEuDll.dll
push 0x67
mov esi, eax
call fcn.10001ea0
add esp, 0x10
test eax, eax
je 0x10002529
test esi, esi
je 0x10002529
mov ecx, dword [0x1000f154]
push 1
push ecx
mov ecx, 0x1000f148
call fcn.10002730
mov eax, dword [0x1000f15c]
test eax, eax
jne 0x1000251d
push 0x1000f15c
push 0x1000c2c8
mov ecx, 0x1000f148
call fcn.10002a30
mov dword [0x1000f158], eax
cmp dword [0x1000f15c], ebp
je 0x1000255f
xor eax, eax
jmp 0x10002565
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x284
ret
test eax, eax
jne 0x10002557
push 0x1000f15c
push 0x1000c2c8
mov ecx, 0x1000f148
call fcn.10002a30
mov dword [0x1000f158], eax
mov eax, dword [0x1000f15c]
cmp eax, ebp
je 0x1000255f
xor eax, eax
jmp 0x10002565
call dword [0x1000f158]
push str.IsBMUDisk2_r_n
mov dword [0x1000f514], eax
call edi
mov eax, dword [0x1000f274]
mov esi, dword [0x1000f510]
test eax, eax
jne 0x10002599
push 0x1000f274
push str.UDLL_DeviceExist
mov ecx, 0x1000f250
call fcn.10002a30
mov dword [0x1000f270], eax
cmp dword [0x1000f274], ebp
jne 0x100025ac
push esi
call dword [0x1000f270]
test eax, eax
jne 0x100025c6
mov edx, dword [esp + 0x294]
push edx
call fcn.10002040
add esp, 4
pop edi
pop esi
pop ebp
add esp, 0x284
ret
push str.IsBMUDisk3_r_n
mov dword [0x1000f51c], 1
call edi
call fcn.10001c30
mov eax, dword [0x1000f484]
mov esi, dword [0x1000f510]
test eax, eax
jne 0x10002604
push 0x1000f484
push str.UDLL_SetCurrentDriveNumber
mov ecx, 0x1000f250
call fcn.10002a30
mov dword [0x1000f480], eax
cmp dword [0x1000f484], ebp
jne 0x1000261b
mov eax, dword [esp + 0x294]
push eax
push esi
call dword [0x1000f480]
push str.IsBMUDisk4_r_n
call edi
mov eax, dword [0x1000f2d4]
mov esi, dword [0x1000f510]
test eax, eax
jne 0x1000264a
push 0x1000f2d4
push str.UDLL_GetPasswordHint
mov ecx, 0x1000f250
call fcn.10002a30
mov dword [0x1000f2d0], eax
cmp dword [0x1000f2d4], ebp
jne 0x10002661
lea ecx, [esp + 0x90]
push ecx
push esi
call dword [0x1000f2d0]
push str.IsBMUDisk5_r_n
call edi
mov esi, dword [0x1000f510]
mov ecx, 8
xor eax, eax
lea edi, [esp + 0xc]
rep stosd dword es:[edi], eax
mov ecx, 0x1000f250
call fcn.10003d70
test eax, eax
je 0x10002695
lea edx, [esp + 0xc]
push edx
push esi
call dword [0x1000f2e8]
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xa
jle 0x100026b0
lea edx, [esp + ecx + 2]
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x2d]
mov byte [esp + 0x2c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x2c]
push eax
push edx
call fcn.10001fd0
add esp, 8
lea esi, [esp + 0x2c]
lea eax, [esp + 0x90]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10002711
test cl, cl
je 0x100026fc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10002711
add eax, ebp
add esi, ebp
test cl, cl
jne 0x100026de
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
pop edi
pop esi
mov eax, ecx
pop ebp
add esp, 0x284
ret
sbb eax, eax
pop edi
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
pop esi
mov eax, ecx
pop ebp
add esp, 0x284
ret