Function at 0x10058760
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1019c680
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], ecx
push str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x1264
lea esi, [esp + 0x1c]
mov dword [esp + 0x44], edi
call fcn.10111280
xor esi, esi
mov dword [esp + 0x74], esi
mov edx, dword [0x103b321c]
push str.DA_cmd::VerifyImageChecksum__
push edx
push eax
call fcn.10111350
mov dword [esp + 0x80], 0xffffffff
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esp, 0xc
add eax, edx
mov dword [esp + 0x4c], esi
je 0x10058c4b
mov dword [esp + 0x3c], esi
cmp esi, eax
jb 0x1005883a
call fcn.1016d669
mov ebx, dword [edi + 0xc]
add ebx, dword [esp + 0x3c]
cmp dword [ebx + 0x64], 7
mov dword [esp + 0x54], ebx
jne 0x10058887
push esi
push str.m_rom_list__u__is_an_SV5_BL_BIN___Skipped
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x126b
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
add esp, 8
jmp 0x10058c19
cmp byte [ebx + 0x5b8], 0
je 0x10058c1d
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10058925
push eax
mov esi, str._DEBUG:
push str.CALLBACK_CHECKSUM_PROGRESS_INIT_0x_08X_:_enter_...
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x1276
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
add esp, 8
cmp dword [ebx + 0x18], 0x10
jb 0x100588e3
mov eax, dword [ebx + 4]
jmp 0x100588e6
lea eax, [ebx + 4]
mov edi, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x5c]
push eax
call edi
push edi
push str.CALLBACK_CHECKSUM_PROGRESS_INIT_0x_08X_:_OK.
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x1278
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
add esp, 8
mov eax, ebx
mov ecx, ebp
call fcn.10058340
test eax, eax
je 0x10058c6e
mov esi, eax
call fcn.100d7dc0
cmp dword [ebx + 0x410], 0x10
movzx ecx, ax
mov dword [esp + 0x2c], ecx
jb 0x10058955
mov eax, dword [ebx + 0x3fc]
jmp 0x1005895b
lea eax, [ebx + 0x3fc]
push eax
push str.Verifying__s
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x128b
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
mov dl, byte [ebx + 0x64]
add esp, 8
mov byte [esp + 0x60], dl
push str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x1290
lea esi, [esp + 0x1c]
call fcn.10111280
mov ebx, 1
mov dword [esp + 0x74], ebx
movzx ecx, byte [esp + 0x60]
mov edx, dword [0x103b321c]
push ecx
push str.DA_cmd::VerifyImageChecksum_:_rom_type_0x_02X_.
push edx
push eax
call fcn.10111350
mov ecx, dword [esp + 0x40]
add esp, 0x10
push ebx
push ebx
lea eax, [esp + 0x68]
push eax
push ecx
push ebp
mov dword [esp + 0x88], 0xffffffff
call fcn.1004a550
test eax, eax
jne 0x10058cba
mov ebx, dword [esp + 0x2c]
movzx edx, bx
push edx
push str.Sending_checksum__0x_04X_.
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x12c9
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
mov esi, dword [esp + 0x38]
add esp, 8
push esi
push ebp
mov dl, 1
mov eax, ebx
call fcn.1004aad0
test eax, eax
jne 0x10058cc1
push esi
push ebp
mov dl, 1
call fcn.1004aad0
test eax, eax
jne 0x10058cc8
mov byte [esp + 0x34], al
mov dword [esp + 0x2c], eax
push 1
push 0x2710
push 0
lea eax, [esp + 0x44]
push eax
push esi
push ebp
mov ebx, 4
mov dword [esp + 0x5c], 0
call fcn.1004a830
test eax, eax
jne 0x10058cd2
mov eax, dword [esp + 0x38]
movzx edx, byte [esp + 0x3a]
movzx edi, al
shl edi, 8
movzx ecx, ah
movzx eax, byte [esp + 0x3b]
or edi, ecx
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
cmp edi, 0xbd1
je 0x10058ac6
test edi, edi
jne 0x10058cdc
push 1
push 0x2710
push 1
lea ecx, [esp + 0x6c]
push ecx
push esi
push ebp
mov ebx, 1
call fcn.1004a830
test eax, eax
jne 0x10058d52
mov bl, byte [esp + 0x60]
lea edx, [esp + 0x44]
push edx
push esi
mov al, 1
push ebp
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
test eax, eax
jne 0x10058d5c
cmp bl, 0x64
ja 0x10058b12
mov byte [esp + 0x34], bl
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10058b3f
mov eax, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x41c]
mov eax, dword [eax + 0x418]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x40]
push 0
push edx
push eax
call ecx
push 1
push 1
lea ecx, [esp + 0x68]
push ecx
push esi
push ebp
mov ebx, 1
mov byte [esp + 0x74], 0x5a
call fcn.1004a550
test eax, eax
jne 0x10058d66
test edi, edi
jne 0x10058a69
push str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x1309
lea esi, [esp + 0x1c]
call fcn.10111280
movzx edx, byte [esp + 0x34]
push edx
mov dword [esp + 0x78], 3
mov ecx, dword [0x103b321c]
push str.VerifyImageChecksum__:_checksum__u____done_
push ecx
push eax
call fcn.10111350
mov eax, dword [esp + 0x40]
add esp, 0x10
push ebx
push 0x75300
push edi
lea edx, [esp + 0x23]
push edx
push eax
mov dword [esp + 0x88], 0xffffffff
push ebp
mov byte [esp + 0x2f], 0
call fcn.1004a830
test eax, eax
jne 0x10058cc8
cmp byte [esp + 0x17], 0x5a
mov dword [esp + 0x18], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x28], str.DA_cmd::VerifyImageChecksum
lea edi, [esp + 0x18]
jne 0x10058d70
push str.Checksum_matched_
mov dword [esp + 0x20], 0x1325
mov byte [esp + 0x24], al
mov dword [esp + 0x28], str._DEBUG:
call fcn.10017c90
mov esi, dword [esp + 0x50]
add esp, 4
mov edi, dword [esp + 0x40]
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
add dword [esp + 0x3c], 0x5d8
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x4c], esi
cmp esi, eax
jb 0x1005883a
xor eax, eax
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1016cb16
add esp, 0x64
ret 0x14
cmp dword [ebx + 0x18], 0x10
jb 0x10058c79
mov ebx, dword [ebx + 4]
jmp 0x10058c7c
add ebx, 4
push ebx
push str.QueryCheckSumObjByRomName__s__failed_
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x127f
mov byte [esp + 0x28], 0xff
mov dword [esp + 0x2c], str._ERROR:
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
add esp, 8
mov eax, 0x1f
jmp 0x10058c4d
mov eax, 5
jmp 0x10058c4d
mov eax, 1
jmp 0x10058c4d
mov eax, 2
jmp 0x10058c4d
mov eax, 0xa
jmp 0x10058c4d
lea ecx, [esp + 0x2c]
push ecx
push esi
mov al, 1
push ebp
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
test eax, eax
je 0x10058cff
mov eax, 0xd
jmp 0x10058c4d
push str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x12f2
lea esi, [esp + 0x1c]
call fcn.10111280
mov edx, eax
mov dword [esp + 0x74], 2
mov eax, dword [esp + 0x2c]
push eax
push edi
push edi
call sym.FlashToolLib.v1.dll_StatusToString
movzx ecx, byte [esp + 0x3c]
push eax
mov eax, dword [0x103b321c]
push ecx
push str.VerifyImageChecksum__:_checksum__u___:___s___d__error_occured_at_read_page_0x_08X___stop_checksum_
push eax
push edx
call fcn.10111350
add esp, 0x1c
mov eax, edi
jmp 0x10058c4d
mov eax, 0xb
jmp 0x10058c4d
mov eax, 0xc
jmp 0x10058c4d
mov eax, 0xe
jmp 0x10058c4d
mov bl, 0xff
mov esi, str._ERROR:
push str.Checksum_mismatched_
mov dword [esp + 0x20], 0x1318
mov byte [esp + 0x24], bl
mov dword [esp + 0x28], esi
call fcn.10017c90
mov edx, dword [esp + 0x34]
add esp, 4
lea ecx, [esp + 0x2c]
push ecx
push ebp
mov al, 1
mov dword [esp + 0x34], 0
call fcn.1004ab10
test eax, eax
je 0x10058dbb
mov eax, 3
jmp 0x10058c4d
movzx edx, word [esp + 0x2c]
push edx
push str.checksumOnFlash__0x_04X
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x1321
mov byte [esp + 0x28], bl
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], str.DA_cmd::VerifyImageChecksum
call fcn.10017c90
add esp, 8
mov eax, 4
jmp 0x10058c4d