Function at 0x43bbb4
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
cmp dword [0x45e554], 2
jne 0x43bbd4
cmp dword [0x45e568], 0
je 0x43bbd4
push 1
call fcn.0042caac
pop ecx
cmp dword [0x461104], 0
jne 0x43bbe7
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x461104], eax
cmp dword [0x461104], 0
jne 0x43bbfa
mov dword [0x461104], 1
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x461108], eax
cmp dword [0x461108], 0
jne 0x43bc17
mov dword [0x461108], 1
cmp dword [0x4528f4], 0
jne 0x43bc84
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [0x461104]
cmp eax, 0x1388
jbe 0x43bc84
cmp dword [0x45e560], 0
jne 0x43bc84
cmp dword [0x45e568], 0
jne 0x43bc84
call fcn.004428e4
push 0x1f4
call fcn.00404c08
pop ecx
push 0
push dword [0x452fec]
push dword [ebp + 8]
call fcn.0042c940
add esp, 0xc
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x461104], eax
cmp dword [0x461104], 0
jne 0x43bc84
mov dword [0x461104], 1
cmp dword [0x45fc94], 0
jne 0x43bc95
or eax, 0xffffffff
jmp 0x43c264
xor edx, edx
mov dword [ebp - 4], edx
lea ecx, [ebp - 0x34]
push ecx
lea eax, [ebp - 0x20]
push eax
mov edx, dword [0x45fc94]
push dword [edx]
call sub.KERNEL32.DLL_ClearCommError
test eax, eax
je 0x43bcb9
cmp dword [ebp - 0x20], 0
je 0x43bcc2
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x14
jl 0x43bc9a
cmp dword [0x4528f4], 0
jne 0x43bd34
cmp dword [ebp - 0x2c], 0
ja 0x43bd17
cmp dword [0x45e550], 0
jne 0x43bd17
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [0x461108]
cmp eax, 0x7d0
jbe 0x43bd34
push 0xffffffffffffffff
push 0x4653ca
call fcn.00442798
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x461108], eax
cmp dword [0x461108], 0
jne 0x43bd34
mov dword [0x461108], 1
jmp 0x43bd34
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x461108], eax
cmp dword [0x461108], 0
jne 0x43bd34
mov dword [0x461108], 1
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x1c], eax
jmp 0x43c24e
push 1
mov ecx, 0x187f980
add ecx, dword [0x46110c]
push ecx
call fcn.0044263c
dec eax
jne 0x43c261
mov eax, dword [0x46110c]
xor edx, edx
mov dl, byte [eax + 0x187f980]
mov dword [ebp - 0xc], edx
mov cl, byte [ebp - 0xc]
mov eax, dword [0x461118]
mov byte [eax + 0x187fb14], cl
inc dword [0x461118]
cmp dword [0x461118], 3
jg 0x43be10
mov edx, dword [0x461118]
movsx ecx, byte [edx + 0x187fb13]
mov dword [ebp - 0x24], ecx
push dword [ebp - 0x24]
call fcn.0044a9c4
pop ecx
mov edx, dword [0x461118]
movsx ecx, byte [edx + 0x4610aa]
cmp eax, ecx
je 0x43be10
mov eax, dword [0x461118]
mov al, byte [eax + 0x187fb13]
mov edx, dword [0x461118]
cmp al, byte [edx + 0x4610b6]
je 0x43be10
push str.M5R_31__sync_r_n
call fcn.00403934
pop ecx
xor ecx, ecx
mov dword [0x461118], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
call fcn.0044a9c4
pop ecx
movsx edx, byte [0x4610ab]
cmp eax, edx
jne 0x43be10
mov cl, byte [ebp - 0xc]
mov eax, dword [0x461118]
mov byte [eax + 0x187fb14], cl
inc dword [0x461118]
cmp dword [0x461118], 0
setg dl
and edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jne 0x43be50
cmp dword [ebp - 0xc], 0
je 0x43be40
push dword [ebp - 0xc]
push str._n_r0123456789ABCDEFGH:____my_DIRL
call fcn.00444485
add esp, 8
test eax, eax
jne 0x43be50
push str.M5R_31__no_char_r_n
call fcn.00403934
pop ecx
jmp 0x43c24e
inc dword [0x46110c]
cmp dword [0x461118], 3
jl 0x43bed9
push 0x4610b3
call fcn.0044438c
pop ecx
push eax
push 0x4610b3
push 0x187fb14
call fcn.00444458
add esp, 0xc
test eax, eax
jne 0x43be8a
mov dword [ebp - 0x18], 0x29
jmp 0x43bebc
push 0x4610b7
call fcn.0044438c
pop ecx
push eax
push 0x4610b7
push 0x187fb14
call fcn.00444458
add esp, 0xc
test eax, eax
jne 0x43beb5
mov dword [ebp - 0x18], 0x31
jmp 0x43bebc
mov dword [ebp - 0x18], 0x21
mov ecx, dword [0x461118]
cmp ecx, dword [ebp - 0x18]
jl 0x43bed9
push str.M5R_31__new_pack___len_r_n
call fcn.00403934
pop ecx
xor eax, eax
mov dword [0x461118], eax
cmp dword [0x46110c], 0x64
jne 0x43bf02
mov edx, dword [0x46110c]
dec edx
push edx
push 0x187f981
push 0x187f980
call fcn.0044416c
add esp, 0xc
dec dword [0x46110c]
cmp dword [ebp - 0x10], 0
je 0x43bf11
cmp dword [0x461118], 0
je 0x43bf31
cmp dword [ebp - 0x10], 0
jne 0x43c24e
mov ecx, dword [0x46110c]
movsx eax, byte [ecx + 0x187f97f]
cmp eax, 0xa
jne 0x43c24e
mov edx, dword [0x46110c]
mov byte [edx + 0x187f980], 0
push 0x187f9e5
push 0x187f980
call fcn.00437210
add esp, 8
mov dword [ebp - 8], eax
xor ecx, ecx
mov dword [0x46110c], ecx
cmp dword [ebp - 8], 0
jge 0x43bf71
push str.M5R_31__not_found_r_n
call fcn.00403934
pop ecx
jmp 0x43c24e
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x461104], eax
cmp dword [0x461104], 0
jne 0x43bf8e
mov dword [0x461104], 1
mov eax, dword [ebp - 8]
cmp eax, dword [0x461114]
je 0x43bfa1
xor edx, edx
mov dword [0x461110], edx
mov ecx, dword [ebp - 8]
mov dword [0x461114], ecx
cmp dword [0x461114], 0
jne 0x43c15e
push str.M5R_31__1_phase_r_n
call fcn.00403934
pop ecx
push 0x460e2c
push 0x187f5b0
call fcn.00444570
add esp, 8
test eax, eax
je 0x43bffe
push 0x460e2c
call fcn.0044438c
pop ecx
push eax
push 0x187f9e5
push 0x187f5b0
call fcn.00444608
add esp, 0xc
test eax, eax
jne 0x43c24e
cmp dword [0x461110], 0
jne 0x43c033
push str.M5R_1_r_n
call fcn.00403934
pop ecx
push 0x187f9e5
push 0x187fa4a
call fcn.0044435c
add esp, 8
mov dword [0x461110], 1
jmp 0x43c24e
cmp dword [0x461110], 1
jne 0x43c095
push 0x187f9e5
push 0x187fa4a
call fcn.00444310
add esp, 8
test eax, eax
jne 0x43c069
push str.M5R_2_r_n
call fcn.00403934
pop ecx
xor eax, eax
mov dword [0x461110], eax
jmp 0x43c114
push str.M5R_3_r_n
call fcn.00403934
pop ecx
push 0x187f9e5
push 0x187faaf
call fcn.0044435c
add esp, 8
mov dword [0x461110], 2
jmp 0x43c24e
push 0x187f9e5
push 0x187fa4a
call fcn.00444310
add esp, 8
test eax, eax
je 0x43c0c1
push 0x187f9e5
push 0x187faaf
call fcn.00444310
add esp, 8
test eax, eax
jne 0x43c0d6
push str.M5R_4_r_n
call fcn.00403934
pop ecx
xor edx, edx
mov dword [0x461110], edx
jmp 0x43c114
push str.M5R_5_r_n
call fcn.00403934
pop ecx
push 0x187faaf
push 0x187fa4a
call fcn.0044435c
add esp, 8
push 0x187f9e5
push 0x187faaf
call fcn.0044435c
add esp, 8
mov dword [0x461110], 2
jmp 0x43c24e
push str.M5R_6_r_n
call fcn.00403934
pop ecx
xor ecx, ecx
mov dword [0x461110], ecx
mov dword [0x46110c], ecx
push 0
call fcn.0042c5f0
pop ecx
cmp dword [ebp + 0xc], 0
je 0x43c143
or eax, 0xffffffff
jmp 0x43c264
push 0x187f9e5
push dword [ebp + 8]
call fcn.00437684
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x43c264
push str.M5R_31__3_phase_r_n
call fcn.00403934
pop ecx
cmp dword [0x461114], 1
jne 0x43c187
mov dx, word [0x187f983]
and edx, 0xfff
movzx ecx, dx
mov dword [ebp - 0x14], ecx
jmp 0x43c1d6
cmp dword [0x461114], 2
jne 0x43c1a3
mov ax, word [0x187f985]
and eax, 0xfff
movzx edx, ax
mov dword [ebp - 0x14], edx
jmp 0x43c1d6
cmp dword [0x461114], 3
jne 0x43c1c1
mov cx, word [0x187f985]
and ecx, 0xfff
movzx eax, cx
mov dword [ebp - 0x14], eax
jmp 0x43c1d6
push dword [0x461114]
push str.M5R_31__hdr_format_d__r_n
call fcn.00403934
add esp, 8
jmp 0x43c24e
cmp dword [0x187f978], 0xffffffff
je 0x43c202
mov edx, dword [0x187f978]
cmp edx, dword [ebp - 0x14]
je 0x43c202
push dword [ebp - 0x14]
push dword [0x187f978]
push str.M5R_31__hdr___M5a_Hdr3_d__sn3_d__r_n
call fcn.00403934
add esp, 0xc
jmp 0x43c24e
push str.M5R_31__hdr_OK_r_n
call fcn.00403934
pop ecx
xor ecx, ecx
mov dword [0x461110], ecx
mov dword [0x46110c], ecx
push 0
call fcn.0042c5f0
pop ecx
push dword [ebp + 0xc]
push 0x187f9e5
push dword [ebp + 8]
call fcn.00437e04
add esp, 0xc
mov dword [ebp - 8], eax
push dword [ebp - 8]
push str.M5R_AnalyzeMieleData3___d_r_n
call fcn.00403934
add esp, 8
mov eax, dword [ebp - 8]
jmp 0x43c264
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [ebp - 0x1c]
cmp eax, 0xbb8
jb 0x43bd41
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret