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

Disassembly:
push 0xffffffffffffffff
push 0x1019c62b
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov dword [esp + 0x64], edx
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
xor edi, edi
mov eax, edx
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
add eax, edx
mov dword [esp + 0x54], ebx
mov byte [esp + 0x7c], 0
mov dword [esp + 0x7d], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
je 0x10058f06
cmp esi, eax
jb 0x10058eb5
call fcn.1016d669
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + edi + 0x64]
cmp ecx, 7
je 0x10058ee1
cmp ecx, 9
je 0x10058ee1
cmp byte [eax + edi + 0x5b8], 0
je 0x10058ee1
test ebp, ebp
jne 0x10058edd
mov dword [esp + 0x44], esi
mov ebp, 1
mov dword [esp + 0x40], esi
mov ecx, dword [ebx + 0x10]
sub ecx, eax
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add edi, 0x5d8
cmp esi, eax
jb 0x10058eb5
xor edi, edi
push str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x1344
lea esi, [esp + 0x1c]
call fcn.10111280
mov dword [esp + 0xa4], edi
mov ecx, dword [0x103b321c]
push str.DA_cmd::CMD_VerifyImageChecksum__
push ecx
push eax
call fcn.10111350
mov dword [esp + 0xb0], 0xffffffff
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
xor esi, esi
shr eax, 0x1f
add esp, 0xc
add eax, edx
mov dword [esp + 0x4c], esi
je 0x100596a5
mov dword [esp + 0x38], edi
cmp esi, eax
jb 0x10058f79
call fcn.1016d669
mov ebp, dword [ebx + 0xc]
add ebp, edi
cmp dword [ebp + 0x64], 7
jne 0x10058fc0
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], 0x134a
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
add esp, 8
jmp 0x10059671
cmp byte [ebp + 0x5b8], 0
je 0x10059671
mov eax, dword [esp + 0x58]
mov ebx, str._DEBUG:
test eax, eax
je 0x1005905e
push eax
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], 0x1354
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
add esp, 8
cmp dword [ebp + 0x18], 0x10
jb 0x1005901c
mov eax, dword [ebp + 4]
jmp 0x1005901f
lea eax, [ebp + 4]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x58]
push eax
push edx
call esi
push esi
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], 0x1356
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
add esp, 8
mov ecx, dword [esp + 0x30]
mov eax, ebp
call fcn.10058340
mov dword [esp + 0x68], eax
test eax, eax
je 0x100596d1
mov esi, eax
call fcn.100d7dc0
cmp dword [ebp + 0x410], 0x10
movzx eax, ax
mov dword [esp + 0x50], eax
jb 0x10059094
mov eax, dword [ebp + 0x3fc]
jmp 0x1005909a
lea eax, [ebp + 0x3fc]
push eax
mov esi, str.DA_cmd::CMD_VerifyImageChecksum
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], 0x136a
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], esi
call fcn.10017c90
push 0xbd
push str.send_DA_VERIFY_IMG_CHKSUM_CMD_0x_02X_.
lea edi, [esp + 0x28]
mov dword [esp + 0x28], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x2c], 0x136d
mov byte [esp + 0x30], 0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
call fcn.10017c90
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
add esp, 0x10
push 1
push 1
lea ecx, [esp + 0x1c]
push ecx
push edx
push eax
mov ebx, 1
mov byte [esp + 0x28], 0xbd
call fcn.1004a550
test eax, eax
jne 0x1005971d
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x54]
mov ecx, dword [esi + 0x1f58]
push ecx
push str.send_storage_type_0x_02X_.
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x1373
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], str._DEBUG:
call fcn.10017c90
mov dl, byte [esi + 0x1f58]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
add esp, 8
push ebx
push ebx
lea eax, [esp + 0x1c]
push eax
push ecx
push esi
mov byte [esp + 0x28], dl
call fcn.1004a550
test eax, eax
jne 0x10059721
mov al, byte [ebp + 0x64]
movzx edx, al
push edx
push str.rom_type_0x_02X_.
lea edi, [esp + 0x20]
mov byte [esp + 0x84], al
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x137a
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
mov edx, dword [esp + 0x34]
movzx eax, byte [esp + 0x84]
add esp, 8
push ebx
push ebx
lea ecx, [esp + 0x1c]
push ecx
push edx
push esi
mov byte [esp + 0x28], al
call fcn.1004a550
test eax, eax
jne 0x1005972b
mov ecx, dword [ebp + 0x40]
mov byte [esp + 0x20], al
mov eax, dword [ebp + 0x44]
push eax
push ecx
push str._32___64__img_addr_0x_016I64X_.
lea edi, [esp + 0x24]
mov dword [esp + 0x24], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x28], 0x1380
mov dword [esp + 0x30], str._DEBUG:
mov dword [esp + 0x34], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
mov edx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x40]
mov edi, dword [esp + 0x38]
add esp, 0xc
push edx
push eax
call fcn.1004ac10
test eax, eax
jne 0x10059735
mov esi, dword [esp + 0x68]
mov dword [esp + 0x18], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov byte [esp + 0x20], al
mov dword [esp + 0x24], str._DEBUG:
mov dword [esp + 0x28], str.DA_cmd::CMD_VerifyImageChecksum
lea edi, [esp + 0x18]
cmp byte [esi + 0x10], al
je 0x100592c3
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0xc8]
push ecx
push edx
push str._32___64__Sparse_image_length_0x_016I64X_
mov dword [esp + 0x28], 0x1393
call fcn.10017c90
mov eax, dword [esi + 0xc8]
mov esi, dword [esi + 0xcc]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
add esp, 0xc
push esi
push eax
mov esi, ebx
call fcn.1004ac10
test eax, eax
je 0x10059312
mov eax, 5
jmp 0x100596a7
mov eax, dword [ebp + 0x48]
sub eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x4c]
sbb ecx, dword [ebp + 0x44]
add eax, 1
adc ecx, 0
push ecx
push eax
push str._32___64__Non_sparse_image_length_0x_016I64X_
mov dword [esp + 0x28], 0x139c
call fcn.10017c90
mov edx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x4c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
add esp, 0xc
sub edx, dword [ebp + 0x40]
sbb eax, dword [ebp + 0x44]
add edx, ebx
adc eax, 0
push eax
push edx
call fcn.1004ac10
test eax, eax
jne 0x100592b9
mov ebx, esi
mov esi, dword [esp + 0x50]
movzx ecx, si
push ecx
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], 0x13aa
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
mov edx, dword [esp + 0x34]
add esp, 8
push edx
push ebx
mov dl, 1
mov eax, esi
call fcn.1004aad0
test eax, eax
jne 0x1005973f
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x40]
push eax
push ecx
push esi
push str.send_index__d_first:__d__end__d
lea edi, [esp + 0x28]
mov dword [esp + 0x28], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x2c], 0x13af
mov dword [esp + 0x34], str._DEBUG:
mov dword [esp + 0x38], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
mov edx, dword [esp + 0x3c]
add esp, 0x10
push esi
push edx
mov al, 1
push ebx
mov cl, al
call fcn.1004aaa0
test eax, eax
jne 0x10059749
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, esi
call fcn.10062120
mov esi, eax
push esi
push str.dl_image_status__d_
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x24], 0x13b7
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
add esp, 8
push esi
mov esi, dword [esp + 0x30]
push esi
mov al, 1
push ebx
mov cl, al
call fcn.1004aaa0
test eax, eax
jne 0x10059753
mov byte [esp + 0x84], al
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov dword [esp + 0x8d], eax
mov word [esp + 0x91], ax
mov byte [esp + 0x93], al
mov eax, dword [ebp + 0x14]
cmp eax, 0x10
jbe 0x1005945b
mov eax, 0x10
cmp dword [ebp + 0x18], 0x10
jb 0x10059466
mov ecx, dword [ebp + 4]
jmp 0x10059469
lea ecx, [ebp + 4]
push eax
push ecx
lea eax, [esp + 0x8c]
push eax
call fcn.1016d8b0
add esp, 0xc
push 1
push 1
lea ecx, [esp + 0x8c]
push ecx
push esi
push ebx
mov ebx, 0x10
call fcn.1004a550
test eax, eax
jne 0x1005975d
mov byte [esp + 0x3c], al
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
jmp 0x100594b3
xor eax, eax
mov esi, dword [esp + 0x30]
push 1
push 0x2710
push eax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x54]
push edx
push eax
push esi
mov ebx, 4
call fcn.1004a830
test eax, eax
jne 0x10059767
mov eax, dword [esp + 0x48]
movzx edx, byte [esp + 0x4a]
movzx edi, al
shl edi, 8
movzx ecx, ah
movzx eax, byte [esp + 0x4b]
or edi, ecx
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
mov dword [esp + 0x50], edi
cmp edi, 0xbd1
je 0x10059513
test edi, edi
jne 0x10059771
mov edx, dword [esp + 0x2c]
push 1
push 0x2710
push 1
lea ecx, [esp + 0x88]
push ecx
push edx
push esi
mov ebx, 1
call fcn.1004a830
test eax, eax
jne 0x100597df
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov bl, byte [esp + 0x7c]
push 1
lea esi, [esp + 0x78]
call fcn.1004aca0
test eax, eax
jne 0x100597e9
cmp bl, 0x64
ja 0x10059564
mov byte [esp + 0x3c], bl
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1005958d
mov ecx, dword [esp + 0x64]
mov edx, dword [ebp + 0x41c]
push ecx
mov ecx, dword [ebp + 0x418]
push edx
mov edx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x48]
push 0
push edx
push ecx
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push 1
push 1
lea edx, [esp + 0x84]
push edx
push eax
push ecx
mov ebx, 1
mov byte [esp + 0x90], 0x5a
call fcn.1004a550
test eax, eax
jne 0x10059753
test edi, edi
jne 0x100594b1
movzx edx, byte [esp + 0x3c]
push edx
mov esi, str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
xor ebx, ebx
mov ebp, str.DA_cmd::CMD_VerifyImageChecksum
push str.checksum__u____done_
lea edi, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0x13ff
mov byte [esp + 0x28], bl
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], ebp
call fcn.10017c90
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add esp, 8
push 1
push 0x75300
push ebx
lea eax, [esp + 0x43]
push eax
push ecx
mov byte [esp + 0x4b], bl
push edx
mov ebx, 1
call fcn.1004a830
test eax, eax
jne 0x100597f3
cmp byte [esp + 0x37], 0x5a
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], ebp
lea edi, [esp + 0x18]
jne 0x100597fd
push str.Checksum_matched_
mov dword [esp + 0x20], 0x1418
mov byte [esp + 0x24], al
mov dword [esp + 0x28], str._DEBUG:
call fcn.10017c90
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x58]
add esp, 4
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov edi, dword [esp + 0x38]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc esi
add edi, 0x5d8
add eax, edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], edi
cmp esi, eax
jb 0x10058f79
xor eax, eax
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1016cb16
add esp, 0x94
ret 0x14
cmp dword [ebp + 0x18], 0x10
jb 0x100596dc
mov ebp, dword [ebp + 4]
jmp 0x100596df
add ebp, 4
push ebp
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], 0x135d
mov byte [esp + 0x28], 0xff
mov dword [esp + 0x2c], str._ERROR:
mov dword [esp + 0x30], str.DA_cmd::CMD_VerifyImageChecksum
call fcn.10017c90
add esp, 8
mov eax, 0x1f
jmp 0x100596a7
mov eax, ebx
jmp 0x100596a7
mov eax, 2
jmp 0x100596a7
mov eax, 3
jmp 0x100596a7
mov eax, 4
jmp 0x100596a7
mov eax, 7
jmp 0x100596a7
mov eax, 0xd
jmp 0x100596a7
mov eax, 0xe
jmp 0x100596a7
mov eax, 0x12
jmp 0x100596a7
mov eax, 0xa
jmp 0x100596a7
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push 1
lea esi, [esp + 0x60]
call fcn.1004aca0
test eax, eax
jne 0x10059749
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push eax
push ecx
push edi
push edi
mov dword [esp + 0x28], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x2c], 0x13e6
mov byte [esp + 0x30], 0xff
mov dword [esp + 0x34], str._ERROR:
mov dword [esp + 0x38], str.DA_cmd::CMD_VerifyImageChecksum
call sym.FlashToolLib.v1.dll_StatusToString
movzx edx, byte [esp + 0x48]
push eax
push edx
push str._32___64__checksum__u___:___s___d__error_Occur_at_read_page_0x_016I64X___stop_checksum_
lea edi, [esp + 0x30]
call fcn.10017c90
mov eax, dword [esp + 0x68]
add esp, 0x18
jmp 0x100596a7
mov eax, 0xb
jmp 0x100596a7
mov eax, 0xc
jmp 0x100596a7
mov eax, 0xf
jmp 0x100596a7
mov ebx, str._ERROR:
push str.Checksum_mismatched_
mov dword [esp + 0x20], 0x140c
mov byte [esp + 0x24], 0xff
mov dword [esp + 0x28], ebx
call fcn.10017c90
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
add esp, 4
lea eax, [esp + 0x38]
push eax
push ecx
mov al, 1
mov dword [esp + 0x40], 0
call fcn.1004ab10
test eax, eax
je 0x1005984b
mov eax, 0x10
jmp 0x100596a7
movzx edx, word [esp + 0x38]
push edx
push str.checksumOnFlash__0x_04X
lea edi, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0x1414
mov byte [esp + 0x28], 0xff
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
call fcn.10017c90
add esp, 8
mov eax, 0x11
jmp 0x100596a7