Function at 0x1000ca40
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101a0e70
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, ecx
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0xd1
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x80], 0
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_...
push edx
push eax
call fcn.10111350
mov ecx, dword [ebp + 8]
add esp, 0x10
push 0
mov dword [esp + 0x84], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x48]
push 1
push ecx
mov ecx, edi
call edx
test eax, eax
jne 0x1000cf28
mov ecx, dword [ebp + 8]
mov eax, dword [edi]
mov edx, dword [eax]
push 0
push 0x12c
push 0x14
push ecx
mov ecx, edi
call edx
test eax, eax
jne 0x1000cf42
mov eax, dword [edi + 0x48]
cmp eax, 0xfffffff
jae 0x1000cafb
test eax, eax
jne 0x1000cb02
mov dword [edi + 0x48], 0xfffffff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
xor eax, eax
mov ebx, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
lea ebx, [ebx]
mov eax, dword [edi + 0x48]
cmp eax, 0xfffffff
je 0x1000cb36
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jae 0x1000cd97
cmp dword [esp + 0x14], 4
jae 0x1000cd97
cmp byte [edi + 0x68], 0
jne 0x1000cbcb
cmp dword [edi + 0x5c], 0
je 0x1000cbcb
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0xec
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x80], 1
mov edx, dword [edi + 0x64]
mov ecx, dword [edi + 0x5c]
push edx
mov edx, dword [edi + 0x60]
push edx
mov edx, dword [edi + 0x50]
push ecx
push ecx
mov ecx, dword [0x1027a690]
push ecx
mov ecx, dword [0x103b321c]
push edx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_send_WM_BROM_READY_TO_POWER_ON_TGT_0x_04X__notification_message_to_application._HWND_0x_08X__lu__wParam_0x_08X___lParam_0x_08X_.
push ecx
push eax
call fcn.10111350
mov dword [esp + 0xa4], 0xffffffff
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
mov ecx, dword [0x1027a690]
add esp, 0x24
push edx
mov edx, dword [edi + 0x5c]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [edi + 0x68], 1
mov eax, dword [edi + 0x44]
test eax, eax
je 0x1000cbde
cmp dword [eax], 0x2694
je 0x1000cf5c
cmp byte [ebp + 0xc], 0
je 0x1000cc2d
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0xf8
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x80], 3
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_sending_...
push edx
push eax
call fcn.10111350
add esp, 0x10
mov dword [esp + 0x80], 0xffffffff
mov ebx, dword [esp + 0x14]
mov eax, dword [edi]
mov esi, dword [ebp + 8]
mov edx, dword [eax + 0x58]
push 0
push 1
lea ebx, [ebx + 0x10207530]
push ebx
push esi
mov ecx, edi
mov byte [esp + 0x23], 0
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x64]
push 0
push 0
push 1
lea ecx, [esp + 0x1f]
push ecx
push esi
mov ecx, edi
call edx
test eax, eax
jne 0x1000cd4d
mov al, byte [esp + 0x13]
not al
xor cl, cl
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
lea esi, [esp + 0x24]
cmp byte [ebx], al
jne 0x1000cce9
mov eax, 0x105
call fcn.10111280
mov ecx, eax
mov dword [esp + 0x80], 4
movzx eax, byte [esp + 0x13]
movzx edx, byte [ebx]
push eax
mov eax, dword [edi + 0x3c]
push edx
push eax
mov eax, dword [edi + 0x34]
call fcn.10011db0
mov edx, dword [edi + 0x50]
push eax
mov eax, dword [0x103b321c]
push edx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_m_ext_clock__s___m_baud_rate__d___SEND_0x_02X___RECV_0x_02X___OK.
push eax
push ecx
call fcn.10111350
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa0], 0xffffffff
mov cl, byte [esp + 0x33]
add esp, 0x20
mov byte [eax + edi + 0x54], cl
inc eax
mov dword [esp + 0x14], eax
jmp 0x1000cd60
inc dword [esp + 0x1c]
mov eax, 0x10c
call fcn.10111280
mov ecx, eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x80], 5
movzx eax, byte [esp + 0x13]
push edx
movzx edx, byte [ebx]
push eax
mov eax, dword [edi + 0x3c]
push edx
push eax
mov eax, dword [edi + 0x34]
call fcn.10011db0
mov edx, dword [edi + 0x50]
push eax
mov eax, dword [0x103b321c]
push edx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_m_ext_clock__s___m_baud_rate__d___SEND_0x_02X___RECV_0x_02X___fail_retry__u_.
push eax
push ecx
call fcn.10111350
add esp, 0x24
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x14], 0
jmp 0x1000cd60
inc dword [esp + 0x18]
push 2
mov dword [esp + 0x18], 0
call sub.KERNEL32.dll_Sleep
cmp byte [edi + 0x38], 0
je 0x1000cd86
cmp dword [esp + 0x14], 0
jne 0x1000cd86
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [edi]
mov edx, dword [edx + 0x54]
push eax
push ecx
mov ecx, edi
call edx
test eax, eax
jne 0x1000cfbb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x1c]
mov esi, eax
jmp 0x1000cb20
mov ecx, dword [ebp + 8]
mov eax, dword [edi]
mov edx, dword [eax]
push 0
push 0x2bc
push 0x32
push ecx
mov ecx, edi
call edx
test eax, eax
jne 0x1000cfd5
sub esi, ebx
cmp esi, dword [edi + 0x48]
jae 0x1000cfef
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [edi + 0x58], eax
test eax, eax
jbe 0x1000ce2e
lea esp, [esp]
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x131
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x80], 7
movzx ecx, byte [edi + ebx + 0x54]
movzx edx, byte [ebx + 0x10207530]
push ecx
mov ecx, dword [edi + 0x50]
push edx
mov edx, dword [0x103b321c]
push ebx
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:___d__0x_02X____0x_02X
push edx
push eax
call fcn.10111350
inc ebx
add esp, 0x1c
mov dword [esp + 0x80], 0xffffffff
cmp ebx, dword [edi + 0x58]
jb 0x1000cdd0
mov ebx, dword [ebp + 8]
lea esi, [edi + 8]
push esi
push edi
mov ecx, ebx
call fcn.10011f10
mov ecx, dword [esi]
cmp ecx, 0x85
jne 0x1000ce52
push esi
push ebx
mov ecx, edi
call fcn.1000d830
jmp 0x1000ce64
cmp ecx, 0x83
jne 0x1000ce64
push esi
mov edx, ebx
mov ecx, edi
call fcn.1000d230
cmp eax, 0x7e6
jne 0x1000d0a2
mov eax, dword [edi + 0x50]
or cl, 0xff
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, str._ERROR:
lea esi, [esp + 0x24]
cmp dword [edi + 0x4c], eax
jbe 0x1000d059
inc eax
mov dword [edi + 0x50], eax
mov eax, 0x138
call fcn.10111280
mov dword [esp + 0x80], 8
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_GetBBChipIDFromTarget__:_fail__go_to_retry_...
push edx
push eax
call fcn.10111350
add esp, 0x10
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0xd1
lea esi, [esp + 0x24]
mov dword [esp + 0x84], 0xffffffff
call fcn.10111280
mov dword [esp + 0x80], 0
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_...
push edx
push eax
call fcn.10111350
add esp, 0x10
push 0
mov dword [esp + 0x84], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x48]
push 1
push ebx
mov ecx, edi
call edx
test eax, eax
je 0x1000cad0
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 2
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, str._WARNING:
mov cl, 0xd2
mov eax, 0xf4
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x80], 2
mov ecx, dword [edi + 0x44]
mov edx, dword [ecx]
push edx
mov edx, dword [0x103b321c]
push ecx
mov ecx, dword [edi + 0x50]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_BOOT_STOP___m_p_bootstop_0x_08X__u.
push edx
push eax
call fcn.10111350
add esp, 0x18
mov eax, 0x3e8
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 4
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 5
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x129
lea esi, [esp + 0x24]
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x84], 6
movzx ecx, byte [edx + 0x10207530]
mov edx, dword [edi + 0x50]
push ecx
mov ecx, dword [0x103b321c]
push edx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_polling_0x_02X_for__d_times_and_no_correct_response_
push ecx
push eax
call fcn.10111350
add esp, 0x18
mov eax, 0x7d6
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 0x13c
call fcn.10111280
mov dword [esp + 0x80], 9
mov edi, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push edi
push edi
push str.BRom_AutoBoot::BRom_StartCmd__d_:_retry__d_times_fail_
push edx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 0x7e6
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x3fa
jne 0x1000d1cf
cmp dword [edi + 0x74], 0xff
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
lea esi, [esp + 0x24]
je 0x1000d17f
mov edx, str._WARNING:
mov cl, 0xd2
mov eax, 0x143
call fcn.10111280
mov esi, eax
mov dword [esp + 0x80], 0xa
mov ebx, dword [edi + 0x74]
call fcn.10011d60
mov ecx, dword [0x103b321c]
push eax
mov eax, dword [edi + 0x50]
push eax
push str.BRom_AutoBoot::BRom_StartCmd__d_:_unknown_target_bbchip_type__use_default__s_BootROM.
push ecx
push esi
call fcn.10111350
mov dword [esp + 0x94], 0xffffffff
mov edx, dword [edi + 0x74]
add esp, 0x14
push edx
lea esi, [esp + 0x4c]
call fcn.10001f10
lea edx, [edi + 8]
mov ecx, eax
add esp, 4
mov eax, edx
call fcn.10001a80
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x150
lea esi, [esp + 0x38]
call fcn.10111280
mov dword [esp + 0x80], 0xd
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_Pass_
push edx
push eax
call fcn.10111350
add esp, 0x10
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x147
call fcn.10111280
mov dword [esp + 0x80], 0xb
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_unknown_target_bbchip_type_
push edx
push eax
call fcn.10111350
add esp, 0x10
mov eax, 0x3fa
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test eax, eax
je 0x1000d12a
push str.FlashToolLib_sv5_common_interface_src_brom_autoboot.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x14c
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x80], 0xc
mov ecx, dword [edi + 0x50]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_AutoBoot::BRom_StartCmd__d_:_unknown_error_
push edx
push eax
call fcn.10111350
add esp, 0x10
mov eax, 0x3e9
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8