Function at 0x1004d960
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1019c8d8
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov edi, ecx
push str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x59e
lea esi, [esp + 0x30]
call fcn.10111280
xor esi, esi
mov dword [esp + 0x48], esi
mov ecx, dword [0x103b321c]
push str.DA_cmd::CMD_SF_WriteImage__
push ecx
push eax
call fcn.10111350
mov ebx, dword [esp + 0x64]
add esp, 0xc
mov dword [esp + 0x48], 0xffffffff
cmp ebx, esi
je 0x1004deaf
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1004deaf
cmp edi, esi
je 0x1004d9fd
mov ecx, dword [esp + 0x5c]
push esi
push ecx
call edi
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 ebp, ebp
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], ebp
je 0x1004da6b
xor edi, edi
cmp esi, eax
jb 0x1004da29
call fcn.1016d669
mov eax, dword [ebx + 0xc]
cmp dword [edi + eax + 0x64], 7
je 0x1004da44
cmp byte [edi + eax + 0x5b8], 0
je 0x1004da44
add ebp, dword [edi + eax + 0x418]
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 0x1004da29
mov dword [esp + 0x24], ebp
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 edi, edi
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], edi
je 0x1004deab
mov dword [esp + 0x20], edi
mov ebp, str.DA_cmd::CMD_SF_WriteImage
lea ecx, [ecx]
cmp edi, eax
jb 0x1004daa9
call fcn.1016d669
mov esi, dword [ebx + 0xc]
add esi, dword [esp + 0x20]
push edi
cmp dword [esi + 0x64], 7
mov dword [esp + 0x30], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov byte [esp + 0x38], 0
mov dword [esp + 0x40], ebp
lea edi, [esp + 0x30]
jne 0x1004daee
push str.m_rom_list__u__is_an_SV5_BL_BIN___Skipped
mov dword [esp + 0x38], 0x5c8
mov dword [esp + 0x40], str._DEBUG:
call fcn.10017c90
add esp, 8
jmp 0x1004dd84
cmp byte [esi + 0x5b8], 0
jne 0x1004db19
push str.m_rom_list__u__is_not_enabled___Skipped
mov dword [esp + 0x38], 0x5ce
mov dword [esp + 0x40], str._DEBUG:
call fcn.10017c90
add esp, 8
jmp 0x1004dd84
mov ebx, str._DEBUG:
push str.Downloading_m_rom_list__u_...
mov dword [esp + 0x38], 0x5d2
mov dword [esp + 0x40], ebx
call fcn.10017c90
push 0xb8
push str.send_DA_SF_WRITE_IMAGE_CMD_0x_02X_.
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x40], 0x5d7
mov byte [esp + 0x44], 0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
call fcn.10017c90
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add esp, 0x10
push 1
push 1
lea edx, [esp + 0x64]
push edx
push eax
push ecx
mov ebx, 1
mov byte [esp + 0x70], 0xb8
call fcn.1004a550
test eax, eax
jne 0x1004ddbd
mov ebx, dword [esi + 0x40]
and ebx, 0x7ffffff
push ebx
push str.Send_begin_address___0x_08X
lea edi, [esp + 0x34]
mov dword [esp + 0x34], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x38], 0x5e3
mov byte [esp + 0x3c], al
mov dword [esp + 0x40], str._DEBUG:
mov dword [esp + 0x44], ebp
call fcn.10017c90
add esp, 8
mov edx, ebx
push 1
shr edx, 0x18
mov eax, ebx
shr eax, 0x10
push 1
mov byte [esp + 0x20], dl
mov ecx, ebx
shr ecx, 8
lea edx, [esp + 0x20]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x5c]
push edx
mov byte [esp + 0x26], cl
mov ecx, dword [esp + 0x5c]
push eax
mov byte [esp + 0x2b], bl
push ecx
mov ebx, 4
call fcn.1004a550
test eax, eax
jne 0x1004ddc7
mov edx, dword [esi + 0x41c]
mov byte [esp + 0x34], al
mov eax, dword [esi + 0x418]
push edx
push eax
push str.Send_image_length___0x_08X
lea edi, [esp + 0x38]
mov dword [esp + 0x38], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x3c], 0x5ed
mov dword [esp + 0x44], str._DEBUG:
mov dword [esp + 0x48], ebp
call fcn.10017c90
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esi + 0x418]
add esp, 0xc
push ebx
push ecx
call fcn.1004ab60
test eax, eax
jne 0x1004ddd1
push str.Wait_until_the_1st_block_is_erased
lea edi, [esp + 0x30]
mov dword [esp + 0x30], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x34], 0x5f7
mov byte [esp + 0x38], al
mov dword [esp + 0x3c], str._DEBUG:
mov dword [esp + 0x40], ebp
call fcn.10017c90
mov eax, dword [esp + 0x54]
add esp, 4
push 1
push 0x1388
push 1
lea edx, [esp + 0x23]
push edx
push ebx
push eax
mov ebx, 1
call fcn.1004a830
test eax, eax
jne 0x1004dddb
mov al, byte [esp + 0x17]
cmp al, 0x5a
jne 0x1004dde5
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x41c]
push 0x64
push ecx
mov ecx, dword [esi + 0x418]
push 0x400
push 0
push edx
mov edx, dword [esp + 0x64]
push 0
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x78]
push esi
push edx
mov edx, dword [esp + 0x8c]
call fcn.10051ef0
test eax, eax
jne 0x1004de63
cmp dword [esi + 0x410], 0x10
jb 0x1004dd26
mov eax, dword [esi + 0x3fc]
jmp 0x1004dd2c
lea eax, [esi + 0x3fc]
push eax
push str.Start_Verify_Download_Image___s_
lea edi, [esp + 0x34]
mov dword [esp + 0x34], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x38], 0x629
mov byte [esp + 0x3c], 0
mov dword [esp + 0x40], str._DEBUG:
mov dword [esp + 0x44], ebp
call fcn.10017c90
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
add esp, 8
push esi
push eax
call fcn.10058440
test eax, eax
jne 0x1004de6d
add ebx, dword [esi + 0x418]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x58]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
add dword [esp + 0x20], 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 + 0x1c], esi
cmp esi, eax
jae 0x1004deab
mov edi, esi
jmp 0x1004daa0
mov eax, 2
jmp 0x1004df05
mov eax, 3
jmp 0x1004df05
mov eax, 4
jmp 0x1004df05
mov eax, 5
jmp 0x1004df05
cmp al, 0xa5
je 0x1004ddf3
mov eax, 6
jmp 0x1004df05
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x50]
push ecx
push edx
push eax
mov al, bl
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
test eax, eax
je 0x1004de1e
mov eax, 7
jmp 0x1004df05
mov eax, dword [esp + 0x50]
push eax
push eax
mov dword [esp + 0x34], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x38], 0x60e
mov byte [esp + 0x3c], 0xff
mov dword [esp + 0x40], str._ERROR:
mov dword [esp + 0x44], ebp
call sym.FlashToolLib.v1.dll_StatusToString
push eax
push str._s__d_
lea edi, [esp + 0x38]
call fcn.10017c90
mov eax, 8
jmp 0x1004df02
mov eax, 9
jmp 0x1004df05
mov ecx, dword [esp + 0x1c]
push ecx
push str.VerifyOneImageChecksum___bin__d__failed
lea edi, [esp + 0x34]
mov dword [esp + 0x34], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x38], 0x62d
mov byte [esp + 0x3c], 0xff
mov dword [esp + 0x40], str._ERROR:
mov dword [esp + 0x44], ebp
call fcn.10017c90
add esp, 8
mov eax, 0xc
jmp 0x1004df05
xor eax, eax
jmp 0x1004df05
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ebx
push str.invalid_arguments___dl_handle0x_08X___of_roms___u
lea edi, [esp + 0x38]
mov dword [esp + 0x38], str.FlashToolLib_sv5_common_generic_src_da_cmd.cpp
mov dword [esp + 0x3c], 0x5a2
mov byte [esp + 0x40], 0xff
mov dword [esp + 0x44], str._ERROR:
mov dword [esp + 0x48], str.DA_cmd::CMD_SF_WriteImage
call fcn.10017c90
mov eax, 1
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x18