Function at 0x4c60fd15
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
mov al, byte [ebx]
inc ebx
xor edx, edx
mov dl, al
cmp edx, 6
jg 0x4c60fd5c
je 0x4c60ffdc
cmp edx, 5
ja case.0x4c60fd3d.0
jmp dword [edx*4 + 0x4c60fd44]
sub edx, 7
je 0x4c610000
dec edx
je 0x4c610027
dec edx
je 0x4c610046
sub edx, 0xf3
jne case.0x4c60fd3d.0
mov eax, 1
jmp 0x4c610082
cmp dword [ebp + 0xc], 0
je 0x4c60fd22
xor eax, eax
jmp 0x4c610082
xor edx, edx
mov dl, byte [ebx]
push edx
call sub.IDAPI32.dll_OsLdMBRisLead
test eax, eax
je 0x4c60fdaa
mov si, 2
jmp 0x4c60fdae
mov si, 1
movsx eax, si
add eax, ebx
mov edx, dword [ebp + 8]
mov dword [edx + 0xa], eax
movsx ecx, si
cmp ecx, dword [ebp + 0xc]
jbe 0x4c60fdc8
xor eax, eax
jmp 0x4c610082
movsx edx, si
cmp edx, dword [ebp + 0xc]
jne 0x4c60fdfe
movsx ecx, si
push ecx
push ebx
push edi
call fcn.4c6218bc
add esp, 0xc
test eax, eax
je 0x4c60fde9
xor eax, eax
jmp 0x4c610082
movsx edx, si
add ebx, edx
movsx ecx, si
add edi, ecx
movsx eax, si
sub dword [ebp + 0xc], eax
jmp 0x4c60fd22
xor edx, edx
mov dl, byte [ebx]
mov word [ebp - 2], dx
movsx ecx, si
mov eax, dword [ebp + 0xc]
sub eax, ecx
inc eax
push eax
mov dx, word [ebp - 2]
push edx
push edi
call fcn.4c636606
test eax, eax
jne 0x4c60fe26
xor eax, eax
jmp 0x4c610082
cmp si, 1
jle 0x4c60fe4d
xor edx, edx
mov dl, byte [eax + 1]
xor ecx, ecx
mov cl, byte [ebx + 1]
cmp edx, ecx
je 0x4c60fe4d
mov edx, eax
sub edx, edi
movsx ecx, si
add edx, ecx
sub dword [ebp + 0xc], edx
movsx edi, si
add edi, eax
jmp 0x4c60fe06
mov edx, eax
sub edx, edi
movsx ecx, si
add edx, ecx
sub dword [ebp + 0xc], edx
movsx edi, si
add edi, eax
movsx eax, si
add ebx, eax
push ebx
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.4c60fd15
test eax, eax
je 0x4c60fe81
mov eax, 1
jmp 0x4c610082
mov edx, dword [ebp + 8]
cmp ebx, dword [edx + 0xa]
je 0x4c60fe90
xor eax, eax
jmp 0x4c610082
movsx edx, si
sub ebx, edx
jmp 0x4c60fe06
xor ecx, ecx
mov cl, byte [ebx]
push ecx
call sub.IDAPI32.dll_OsLdMBRisLead
test eax, eax
je 0x4c60feb3
mov si, 2
jmp 0x4c60feb7
mov si, 1
movsx eax, si
add eax, ebx
mov edx, dword [ebp + 8]
mov dword [edx + 0xa], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
movsx ecx, si
cmp ecx, dword [ebp + 0xc]
jbe 0x4c60fed7
xor eax, eax
jmp 0x4c610082
movsx edx, si
cmp edx, dword [ebp + 0xc]
jne 0x4c60ff0d
movsx ecx, si
push ecx
push ebx
push edi
call fcn.4c6218bc
add esp, 0xc
test eax, eax
je 0x4c60fef8
xor eax, eax
jmp 0x4c610082
movsx edx, si
add ebx, edx
movsx ecx, si
add edi, ecx
movsx eax, si
sub dword [ebp + 0xc], eax
jmp 0x4c60fd22
push edi
push ebx
push esi
push dword [ebp + 0x10]
lea edx, [ebp + 0xc]
push edx
push dword [ebp + 8]
call fcn.4c61008a
mov edi, eax
test eax, eax
jne 0x4c60ff2c
xor eax, eax
jmp 0x4c610082
mov edx, dword [ebp + 8]
push dword [edx + 0x24]
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.4c60fd15
test eax, eax
je 0x4c60ff4f
mov eax, 1
jmp 0x4c610082
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xa]
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x24]
je 0x4c60ff0d
xor eax, eax
jmp 0x4c610082
mov dx, word [ebx]
add ebx, 2
mov word [ebp - 4], dx
movsx ecx, word [ebp - 4]
push ecx
push edi
call sub.IDAPI32.dll_OsJLdCMtoB
mov esi, eax
test si, si
je 0x4c60ffa2
movsx eax, si
cmp eax, dword [ebp + 0xc]
ja 0x4c60ffa2
movsx edx, si
cmp edx, dword [ebp + 0xc]
jne 0x4c60ffa9
movsx ecx, si
push ecx
push edi
call sub.IDAPI32.dll_OsJLdCBtoM
movsx edx, word [ebp - 4]
cmp eax, edx
je 0x4c60ffa9
xor eax, eax
jmp 0x4c610082
movsx ecx, si
add edi, ecx
movsx eax, si
sub dword [ebp + 0xc], eax
jmp 0x4c60fd22
cmp dword [ebp + 0xc], 1
jb 0x4c60ffcb
xor edx, edx
mov dl, byte [edi]
xor ecx, ecx
mov cl, byte [ebx]
cmp edx, ecx
je 0x4c60ffd2
xor eax, eax
jmp 0x4c610082
inc ebx
inc edi
dec dword [ebp + 0xc]
jmp 0x4c60fd22
cmp dword [ebp + 0xc], 2
jb 0x4c60ffea
mov dx, word [edi]
cmp dx, word [ebx]
je 0x4c60fff1
xor eax, eax
jmp 0x4c610082
add ebx, 2
add edi, 2
sub dword [ebp + 0xc], 2
jmp 0x4c60fd22
cmp dword [ebp + 0xc], 3
jb 0x4c610014
mov edx, dword [edi]
shl edx, 8
mov ecx, dword [ebx]
shl ecx, 8
cmp edx, ecx
je 0x4c610018
xor eax, eax
jmp 0x4c610082
add ebx, 3
add edi, 3
sub dword [ebp + 0xc], 3
jmp 0x4c60fd22
cmp dword [ebp + 0xc], 4
jb 0x4c610033
mov edx, dword [edi]
cmp edx, dword [ebx]
je 0x4c610037
xor eax, eax
jmp 0x4c610082
add ebx, 4
add edi, 4
sub dword [ebp + 0xc], 4
jmp 0x4c60fd22
mov si, word [ebx]
add ebx, 2
movsx eax, si
push eax
push dword [ebx]
push edi
call fcn.4c6218bc
add esp, 0xc
test eax, eax
je 0x4c610063
xor eax, eax
jmp 0x4c610082
add ebx, 4
movsx edx, si
add edi, edx
movsx ecx, si
sub dword [ebp + 0xc], ecx
jmp 0x4c60fd22
push 0x4c63b265
call sub.KERNEL32.dll_OutputDebugStringA
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x14