Function at 0x10065b70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1019e204
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x288]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push 1
push 0x2710
push 1
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x54], eax
xor eax, eax
push esi
push edi
lea ebx, [eax + 4]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], ecx
mov byte [esp + 0x278], al
mov dword [esp + 0x279], eax
mov dword [esp + 0x27d], eax
mov dword [esp + 0x281], eax
mov dword [esp + 0x285], eax
mov dword [esp + 0x289], eax
mov dword [esp + 0x28d], eax
mov dword [esp + 0x291], eax
mov word [esp + 0x295], ax
mov byte [esp + 0x297], al
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
call fcn.1004a830
test eax, eax
jne 0x1006698d
mov eax, dword [esp + 0x28]
movzx ecx, al
shl ecx, 8
movzx edx, ah
movzx eax, byte [esp + 0x2a]
or ecx, edx
movzx edx, byte [esp + 0x2b]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
je 0x1006698d
push 1
push 0x2710
push 1
xor eax, eax
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
push esi
push edi
mov dword [esp + 0x60], 0
mov dword [eax + 0x178], 0xbc4
call fcn.1004a830
test eax, eax
jne 0x10065ceb
mov eax, dword [esp + 0x28]
movzx ecx, byte [esp + 0x2a]
movzx edx, al
shl edx, 8
movzx eax, ah
or edx, eax
movzx eax, byte [esp + 0x2b]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x30]
shl edx, 8
or edx, eax
mov dword [ecx + 0x11c], edx
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x11c]
push eax
push str.Receive_EMMC_status_d
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x20], 0xa3
mov byte [esp + 0x24], 0
mov dword [esp + 0x28], str._DEBUG:
mov dword [esp + 0x2c], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov edx, dword [esp + 0x44]
add esp, 8
push 1
push 0x2710
push 1
lea ecx, [esp + 0x34]
push ecx
push esi
push edx
call fcn.1004a830
test eax, eax
jne 0x10065d70
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x2a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x2b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0x3c]
push 1
push 0x2710
push 1
lea edx, [esp + 0x34]
push edx
push esi
push edi
call fcn.1004a830
test eax, eax
jne 0x10065db4
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x2a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x2b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x4c], eax
push 1
push 0x2710
push 1
lea edx, [esp + 0x34]
push edx
push esi
push edi
call fcn.1004a830
test eax, eax
jne 0x10065df4
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x2a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x2b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x50], eax
push 1
push 0x2710
push 1
lea edx, [esp + 0x34]
push edx
push esi
push edi
call fcn.1004a830
test eax, eax
jne 0x10065e34
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x2a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x2b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x54], eax
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push ebx
push edx
push eax
push ecx
push str.Receive_eMMC_ID0x_x__x__x__x.
lea edi, [esp + 0x28]
mov dword [esp + 0x28], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x2c], 0xa8
mov byte [esp + 0x30], 0
mov dword [esp + 0x34], str._DEBUG:
mov dword [esp + 0x38], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
add esp, 0x14
push 1
mov dword [eax + 0x160], edx
mov edx, dword [esp + 0x54]
push 0x2710
mov dword [eax + 0x164], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x16c], ebx
push 1
mov dword [eax + 0x168], edx
lea eax, [esp + 0x34]
push eax
push esi
push ecx
mov ebx, 4
call fcn.1004a830
test eax, eax
jne 0x10065ef2
mov eax, dword [esp + 0x28]
movzx ecx, byte [esp + 0x2a]
movzx edx, al
shl edx, 8
movzx eax, ah
or edx, eax
movzx eax, byte [esp + 0x2b]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x30]
shl edx, 8
or edx, eax
mov dword [ecx + 0x5c], edx
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x5c]
push eax
push str.Receive_NAND_status_d
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x20], 0xb0
mov byte [esp + 0x24], 0
mov dword [esp + 0x28], str._DEBUG:
mov dword [esp + 0x2c], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov edx, dword [esp + 0x44]
add esp, 8
push 1
push 0x2710
push 1
lea ecx, [esp + 0x34]
push ecx
push esi
push edx
mov ebx, 2
call fcn.1004a830
mov ebx, dword [esp + 0x30]
test eax, eax
jne 0x10065f6e
mov ax, word [esp + 0x28]
movzx cx, al
movzx dx, ah
shl cx, 8
or cx, dx
mov word [ebx + 0x70], cx
movzx eax, word [ebx + 0x70]
push eax
push str.Receive_NAND_ID_Count_d
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x20], 0xb3
mov byte [esp + 0x24], 0
mov dword [esp + 0x28], str._DEBUG:
mov dword [esp + 0x2c], str.DACmdV4::SyncWithDA
call fcn.10017c90
xor ecx, ecx
lea eax, [ebx + 0x72]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
add esp, 8
mov dword [eax + 0x1c], ecx
mov dword [esp + 0x38], ecx
cmp cx, word [ebx + 0x70]
jae 0x1006607b
mov dword [esp + 0x40], eax
jmp 0x10065fe0
mov eax, dword [esp + 0x3c]
push 1
push 0x2710
push 1
lea edx, [esp + 0x34]
push edx
push esi
push eax
mov ebx, 2
call fcn.1004a830
test eax, eax
jne 0x1006601d
mov ax, word [esp + 0x28]
movzx cx, al
movzx dx, ah
mov eax, dword [esp + 0x40]
shl cx, 8
or cx, dx
mov word [eax], cx
mov ebx, dword [esp + 0x40]
movzx ecx, word [ebx]
push ecx
push str.Receive_Nand_ID0x_x__x__x__x__x.
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x20], 0xbb
mov byte [esp + 0x24], 0
mov dword [esp + 0x28], str._DEBUG:
mov dword [esp + 0x2c], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
movzx ecx, word [edx + 0x70]
inc eax
add ebx, 2
add esp, 8
cmp eax, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], ebx
jl 0x10065fe0
xor ebx, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x290], ebx
mov edi, dword [edx + 0x9c]
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov esi, dword [edi + 0x1f40]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x10066136
push str.Fail_to_get_boot_loader_info.
lea edi, [esp + 0x18]
mov dword [esp + 0x18], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x1c], 0xc3
mov byte [esp + 0x20], 0xff
mov dword [esp + 0x24], str._ERROR:
mov dword [esp + 0x28], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov dword [esp + 0x294], 0xffffffff
mov esi, dword [esp + 0x60]
add esp, 4
cmp esi, ebx
je 0x1006612c
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1006612c
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1006612c
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, 0x13be
jmp 0x10066d6c
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jb 0x10066158
call fcn.1016d669
imul esi, esi, 0x5d8
add esi, dword [edi + 0xc]
lea edi, [esi + 0x3f8]
mov dword [esp + 0x38], esi
push edi
lea esi, [esp + 0x21c]
call fcn.100652e0
mov esi, dword [edi + 0x19c]
mov edx, dword [esp + 0x38]
xor ebx, ebx
add esi, dword [edi + 0x1b0]
adc ebx, dword [edi + 0x1b4]
mov edi, dword [edx + 0x418]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x290], 2
cmp dword [esp + 0x230], 0x10
mov eax, dword [esp + 0x21c]
jae 0x100661c0
lea eax, [esp + 0x21c]
push eax
call fcn.100ee190
add esp, 4
push 0x50
test al, al
je 0x10066247
call fcn.1016d7a5
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x290], 3
test eax, eax
je 0x10066205
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x414]
push edi
push ebx
push esi
push edx
lea ecx, [esp + 0x228]
push ecx
push eax
call fcn.10097c30
jmp 0x10066207
xor eax, eax
lea edx, [esp + 0x48]
push edx
mov ecx, eax
mov byte [esp + 0x294], 2
call fcn.10069ee0
lea edi, [esp + 0x28]
mov byte [esp + 0x290], 4
call fcn.1013b890
mov byte [esp + 0x290], 2
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100662d3
mov esi, eax
add eax, 4
jmp 0x100662ac
call fcn.1016d7a5
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x290], 5
test eax, eax
je 0x10066272
push edi
push ebx
push esi
lea ecx, [esp + 0x224]
push ecx
push eax
call fcn.10097b90
jmp 0x10066274
xor eax, eax
lea edx, [esp + 0x48]
push edx
mov ecx, eax
mov byte [esp + 0x294], 2
call fcn.10069ee0
lea edi, [esp + 0x28]
mov byte [esp + 0x290], 6
call fcn.1013b890
mov byte [esp + 0x290], 2
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x100662d3
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x100662d3
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
or edx, 0xffffffff
lea ecx, [esi + 8]
lock xadd dword [ecx], edx
jne 0x100662d3
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov edi, dword [esp + 0x28]
cmp byte [edi + 0x34], 0
jne 0x100663f8
mov eax, dword [esp + 0x21c]
mov ebx, 0x10
cmp dword [esp + 0x230], ebx
jae 0x100662fd
lea eax, [esp + 0x21c]
push eax
push str.EMI_setting___s__is_not_ready_
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x20], 0xda
mov byte [esp + 0x24], 0xff
mov dword [esp + 0x28], str._ERROR:
mov dword [esp + 0x2c], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov byte [esp + 0x298], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x1006636e
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1006636e
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1006636e
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
cmp dword [esp + 0x230], ebx
jb 0x10066387
mov eax, dword [esp + 0x21c]
push eax
call fcn.1016d679
add esp, 4
mov dword [esp + 0x290], 0xffffffff
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x230], 0xf
mov dword [esp + 0x22c], 0
mov byte [esp + 0x21c], 0
test esi, esi
je 0x1006612c
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1006612c
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1006612c
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, 0x13be
jmp 0x10066d6c
push edi
lea esi, [esp + 0x9c]
call fcn.100652e0
mov byte [esp + 0x290], 7
mov ecx, dword [edi + 0x3c]
mov esi, dword [edi + 0x40]
mov ebx, dword [edi + 0x30]
mov edi, dword [edi + 0x38]
push 0xffffffffffffffff
push 0
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x240]
mov dword [esp + 0x258], 0xf
mov dword [esp + 0x254], 0
mov byte [esp + 0x244], 0
call fcn.10004b90
mov edx, dword [esp + 0x38]
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], edx
mov dword [esp + 0x258], ebx
mov dword [esp + 0x25c], esi
mov byte [esp + 0x290], 9
cmp dword [esp + 0xb0], 0x10
jb 0x1006648e
mov eax, dword [esp + 0x9c]
push eax
call fcn.1016d679
add esp, 4
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
push esi
push ecx
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
call fcn.100981e0
add esp, 8
mov bl, 0xa
mov byte [esp + 0x290], bl
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x234]
push eax
push esi
lea eax, [esp + 0x50]
push eax
call edx
lea edi, [esp + 0x58]
mov byte [esp + 0x290], 0xb
call fcn.1013b890
mov byte [esp + 0x290], bl
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1006652c
mov edi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1006652c
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
lea ecx, [edi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1006652c
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [esp + 0xb4]
push edx
call eax
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x14], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x18], 0xe9
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], str._DEBUG:
mov dword [esp + 0x24], str.DACmdV4::SyncWithDA
call eax
push eax
push str.dram_type:__d
lea edi, [esp + 0x1c]
call fcn.10017c90
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
add esp, 8
push esi
push ecx
push edx
lea ecx, [esp + 0x64]
call fcn.1005cc80
mov byte [esp + 0x290], 9
mov esi, dword [esp + 0x80]
test eax, eax
je 0x100666cb
test esi, esi
je 0x100665da
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x100665da
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x100665da
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov ebx, 0x10
cmp dword [esp + 0x24c], ebx
jb 0x100665f8
mov eax, dword [esp + 0x238]
push eax
call fcn.1016d679
add esp, 4
mov byte [esp + 0x290], 1
mov esi, dword [esp + 0x2c]
mov edi, 0xf
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], 0
mov byte [esp + 0x238], 0
test esi, esi
je 0x10066651
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10066651
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10066651
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
cmp dword [esp + 0x230], ebx
jb 0x1006666a
mov ecx, dword [esp + 0x21c]
push ecx
call fcn.1016d679
add esp, 4
mov dword [esp + 0x290], 0xffffffff
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x230], edi
mov dword [esp + 0x22c], 0
mov byte [esp + 0x21c], 0
test esi, esi
je 0x100666c1
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x100666c1
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x100666c1
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, 0xfc0
jmp 0x10066d6c
test esi, esi
je 0x100666f9
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x100666f9
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x100666f9
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
cmp dword [esp + 0x24c], 0x10
jb 0x10066713
mov eax, dword [esp + 0x238]
push eax
call fcn.1016d679
add esp, 4
xor ebx, ebx
mov byte [esp + 0x290], 1
mov esi, dword [esp + 0x2c]
mov edi, 0xf
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], ebx
mov byte [esp + 0x238], bl
cmp esi, ebx
je 0x10066769
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10066769
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10066769
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
cmp dword [esp + 0x230], 0x10
jb 0x10066783
mov ecx, dword [esp + 0x21c]
push ecx
call fcn.1016d679
add esp, 4
mov dword [esp + 0x290], 0xffffffff
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x230], edi
mov dword [esp + 0x22c], ebx
mov byte [esp + 0x21c], bl
cmp esi, ebx
je 0x100667d5
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x100667d5
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x100667d5
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, 0x6592
cmp word [ecx + 0x2c], ax
jne 0x100668da
mov edi, dword [esp + 0x3c]
push 1
push 0x2710
push 1
lea edx, [esp + 0x40]
push edx
push esi
push edi
mov ebx, 4
call fcn.1004a830
test eax, eax
jne 0x10066835
mov eax, dword [esp + 0x34]
movzx ecx, al
shl ecx, 8
movzx edx, ah
movzx eax, byte [esp + 0x36]
or ecx, edx
movzx edx, byte [esp + 0x37]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
mov dword [esp + 0x68], ecx
lea eax, [esp + 0x6c]
push eax
push esi
mov al, 1
push edi
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
lea ecx, [esp + 0x70]
push ecx
push esi
mov al, 1
push edi
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
lea edx, [esp + 0x74]
push edx
push esi
mov al, 1
push edi
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
lea eax, [esp + 0x78]
push eax
push esi
mov al, 1
push edi
mov ecx, 0x2710
mov dl, al
call fcn.1004abb0
cmp dword [esp + 0x68], 3
jne 0x100668da
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
push str.Raw_00x_x__Raw_10x_x__CJ_0_d__CJ_1_d.
lea edi, [esp + 0x28]
mov dword [esp + 0x28], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x2c], 0xfb
mov byte [esp + 0x30], 0
mov dword [esp + 0x34], str._DEBUG:
mov dword [esp + 0x38], str.DACmdV4::SyncWithDA
call fcn.10017c90
add esp, 0x14
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x64]
mov edx, dword [eax + 0x3848]
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + 0x2a]
push ecx
lea ecx, [esp + 0x64]
push ecx
mov cx, word [eax + 0x2c]
call fcn.1006e7c0
mov dword [esp + 0x290], 0xc
mov ecx, dword [esp + 0x60]
xor ebx, ebx
lea eax, [esp + 0x84]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
push 2
call edx
mov edi, eax
cmp edi, ebx
je 0x100669c8
mov dword [esp + 0x290], 0xffffffff
mov esi, dword [esp + 0x64]
cmp esi, ebx
je 0x10066986
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10066986
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10066986
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, edi
jmp 0x10066d6c
push str.DRAM_is_ready_to_use.
lea edi, [esp + 0x18]
mov dword [esp + 0x18], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x1c], 0xf0
mov byte [esp + 0x20], 0
mov dword [esp + 0x24], str._DEBUG:
mov dword [esp + 0x28], str.DACmdV4::SyncWithDA
call fcn.10017c90
add esp, 4
jmp 0x100667d9
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x38], ecx
mov ecx, eax
shr ecx, 0xc
push 0x1000
mov dword [esp + 0x48], ecx
push eax
mov ecx, eax
push edx
and ecx, 0xfff
push str.baseaddr_x__length_x__packet_size___x
lea edi, [esp + 0x24]
mov ebx, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x24], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x28], 0x111
mov byte [esp + 0x2c], 0
mov dword [esp + 0x30], str._DEBUG:
mov dword [esp + 0x34], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov edi, dword [esp + 0x4c]
add esp, 0x10
push esi
push edi
mov eax, ebx
call fcn.1004ab60
mov eax, dword [esp + 0x34]
push esi
push edi
call fcn.1004ab60
push esi
push edi
mov eax, 0x1000
call fcn.1004ab60
push 1
push 0x2710
push 1
lea edx, [esp + 0x26c]
push edx
push esi
push edi
mov ebx, 1
call fcn.1004a830
movzx eax, byte [esp + 0x260]
push eax
xor ebx, ebx
push str.received_x.
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x20], 0x117
mov byte [esp + 0x24], bl
mov dword [esp + 0x28], str._DEBUG:
mov dword [esp + 0x2c], str.DACmdV4::SyncWithDA
call fcn.10017c90
add esp, 8
cmp byte [esp + 0x260], 0x5a
je 0x10066ae2
lea eax, [esp + 0x60]
mov dword [esp + 0x290], 0xffffffff
call fcn.101008e0
mov eax, 0x412
jmp 0x10066d6c
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x44], ebx
jbe 0x10066b50
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
push 1
push 1
push edx
push esi
push edi
mov ebx, 0x1000
call fcn.1004a550
push 1
push 0x2710
push 1
lea eax, [esp + 0x26c]
push eax
push esi
push edi
mov ebx, 1
call fcn.1004a830
mov al, byte [esp + 0x260]
cmp al, 0x5a
jne 0x10066c6e
mov eax, dword [esp + 0x30]
add dword [esp + 0x34], 0x1000
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x44]
jb 0x10066af8
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
push 1
shl eax, 0xc
add eax, dword [esp + 0x3c]
push 1
push eax
push esi
push edi
call fcn.1004a550
push 1
push 0x2710
push 1
lea ecx, [esp + 0x26c]
push ecx
push esi
push edi
mov ebx, 1
call fcn.1004a830
mov al, byte [esp + 0x260]
cmp al, 0x5a
je 0x10066bd2
movzx edx, al
mov eax, dword [esp + 0x30]
push edx
push eax
push str.i_x___x.
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x24], 0x126
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DACmdV4::SyncWithDA
call fcn.10017c90
add esp, 0xc
push str.send_finished
lea edi, [esp + 0x18]
mov dword [esp + 0x18], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x1c], 0x128
mov byte [esp + 0x20], 0
mov dword [esp + 0x24], str._DEBUG:
mov dword [esp + 0x28], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov edx, dword [esp + 0x40]
add esp, 4
push 1
push 0x2710
push 1
lea ecx, [esp + 0x26c]
push ecx
push esi
push edx
call fcn.1004a830
mov al, byte [esp + 0x260]
mov dword [esp + 0x14], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], str._DEBUG:
mov dword [esp + 0x24], str.DACmdV4::SyncWithDA
lea edi, [esp + 0x14]
cmp al, 0x78
jne 0x10066cf3
push str.receive_from_DADram__.
mov dword [esp + 0x1c], 0x12d
call fcn.10017c90
add esp, 4
jmp 0x10066d0c
mov edx, dword [esp + 0x30]
movzx ecx, al
push ecx
push edx
push str.i_x___x.
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_common_interface_src_da_cmd_base.cpp
mov dword [esp + 0x24], 0x11f
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.DACmdV4::SyncWithDA
call fcn.10017c90
mov dword [esp + 0x29c], 0xffffffff
mov eax, dword [esp + 0x70]
add esp, 0xc
test eax, eax
je 0x10066cec
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10066cec
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10066cec
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, 0x412
jmp 0x10066d6c
movzx eax, al
push eax
push str.receive___x
mov dword [esp + 0x20], 0x12f
call fcn.10017c90
add esp, 8
mov edx, dword [esp + 0x3c]
push 1
push 1
lea ecx, [esp + 0x268]
push ecx
push esi
push edx
mov byte [esp + 0x274], 0x5a
call fcn.1004a550
mov dword [esp + 0x290], 0xffffffff
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10066d6a
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10066d6a
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10066d6a
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
xor eax, eax
mov ecx, dword [esp + 0x288]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.1016cb16
mov esp, ebp
pop ebp
ret 0x10