Function at 0x100292d0
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1011efd7
mov eax, dword fs:[0]
push eax
mov eax, 0x343c
call fcn.100dc600
mov eax, dword [0x10157de0]
xor eax, esp
mov dword [esp + 0x3438], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10157de0]
xor eax, esp
push eax
lea eax, [esp + 0x3450]
mov dword fs:[0], eax
mov eax, dword [esp + 0x3460]
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov dword [esp + 0x60], eax
mov eax, esp
push 0x1012b9e4
push str.1361
push str.__line:
sub esp, 0x1c
mov dword [esp + 0x90], ecx
mov ecx, esp
mov dword [esp + 0x78], esp
xor ebx, ebx
push 0x1c
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.._adaptor_cflashtool_api.cpp
mov dword [esp + 0x84], edx
mov ebp, 1
mov byte [ecx + 4], bl
mov dword [esp + 0x68], eax
call fcn.10007180
lea esi, [esp + 0x214]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x3480], ebx
push 3
push 0x1012ba0c
lea ecx, [esp + 0x170]
mov dword [esp + 0x188], edi
mov dword [esp + 0x184], ebx
mov byte [esp + 0x174], bl
call fcn.10007180
push esi
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x1e4]
push ecx
mov byte [esp + 0x348c], 1
call fcn.1000a2c0
add esp, 0xc
push eax
lea edx, [esp + 0x1c4]
push edx
mov byte [esp + 0x3488], 2
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x1a4]
push eax
mov byte [esp + 0x3484], 3
call fcn.1000a370
add esp, 0xc
push eax
mov byte [esp + 0x347c], 4
mov eax, dword [esp + 0x40]
push eax
call fcn.1000a370
sub esp, 0x10
mov byte [esp + 0x3490], 5
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x2d
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.cflashtool_api::FlashTool_Connect_Download_DA
mov byte [ecx + 4], bl
call fcn.10007180
mov ecx, ebp
lea ebx, [esp + 0x25d8]
mov byte [esp + 0x3490], 4
call fcn.10054c60
mov ebp, 0x10
cmp dword [esp + 0x194], ebp
jb 0x1002946e
mov ecx, dword [esp + 0x180]
push ecx
call fcn.100d41ba
add esp, 4
xor ebx, ebx
mov esi, 0xf
mov dword [esp + 0x194], esi
mov dword [esp + 0x190], ebx
mov byte [esp + 0x180], bl
cmp dword [esp + 0x1b0], ebp
jb 0x100294a3
mov edx, dword [esp + 0x19c]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
cmp dword [esp + 0x1cc], ebp
jb 0x100294d1
mov eax, dword [esp + 0x1b8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
cmp dword [esp + 0x158], ebp
jb 0x100294ff
mov ecx, dword [esp + 0x144]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x158], esi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
mov byte [esp + 0x3458], 0xb
cmp dword [esp + 0x1e8], ebp
jb 0x10029535
mov edx, dword [esp + 0x1d4]
push edx
call fcn.100d41ba
add esp, 4
lea eax, [esp + 0x1c]
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1e4], ebx
mov byte [esp + 0x1d4], bl
mov dword [esp + 0x1c], 1
mov dword [esp + 0x30], eax
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0xb4], ecx
mov dword [eax], ebx
mov byte [esp + 0x3458], 0xc
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1002959a
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x100298b5
lea edx, [esp + 0x3464]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x1003fc20
mov dword [esp + 0x84], 0x1003fc30
lea ebx, [ebx]
push 0x1012b9e4
push str.1362
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x1c
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.._adaptor_cflashtool_api.cpp
mov byte [ecx + 4], bl
call fcn.10007180
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0xd
push 3
push 0x1012ba0c
lea ecx, [esp + 0x22c0]
mov dword [esp + 0x22d8], edi
mov dword [esp + 0x22d4], ebx
mov byte [esp + 0x22c4], bl
call fcn.10007180
push esi
lea eax, [esp + 0x22bc]
push eax
lea ecx, [esp + 0x22dc]
push ecx
mov byte [esp + 0x3470], 0xe
call fcn.1000a2c0
add esp, 0xc
push eax
lea edx, [esp + 0x2310]
push edx
mov byte [esp + 0x346c], 0xf
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x10
call fcn.1000a370
add esp, 0xc
push eax
lea ecx, [esp + 0x2324]
push ecx
mov byte [esp + 0x3464], 0x11
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0x30], eax
push str.bCheckScatter:__d
lea edx, [esp + 0x1f0]
push edx
mov byte [esp + 0x3460], 0x12
call fcn.10009e20
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x345c], 0x13
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x54]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x14
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0xb4]
push edx
push eax
lea eax, [esp + 0x2e3c]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x15
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x10029732
mov edi, dword [edi + 4]
jmp 0x10029735
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002974f
mov eax, dword [eax + 4]
jmp 0x10029752
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x14
call fcn.10006d40
cmp dword [esp + 0x6c], ebp
jb 0x10029782
mov ecx, dword [esp + 0x58]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
call fcn.10003aa0
cmp dword [esp + 0x2334], ebp
jb 0x100297b8
mov edx, dword [esp + 0x2320]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x22fc], ebp
jb 0x100297e6
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2318], ebp
jb 0x10029814
mov ecx, dword [esp + 0x2304]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22e0], ebp
jb 0x10029842
mov edx, dword [esp + 0x22cc]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
cmp dword [esp + 0x22c4], ebp
jb 0x10029870
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0xc
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x100298a6
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
mov eax, dword [esp + 0xb4]
cmp eax, ebx
jne 0x100295d0
mov esi, dword [esp + 0x44]
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x100298d5
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0xb4], ebx
push 0x1ff
lea edx, [esp + 0x3051]
push ebx
push edx
mov byte [esp + 0x3058], bl
call fcn.100d9c40
mov eax, dword [esi + 0x9c]
mov edi, dword [esi + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [0x1015d9ec]
add esp, 0xc
mov dword [esp + 0x40], edi
cmp eax, ebx
je 0x10029929
push 0x1012fde8
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10029929
lea ecx, [esp + 0x29f4]
push ecx
push edi
call eax
jmp 0x1002992e
mov eax, 0xc001000c
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x11c]
mov dword [esp + 0x120], edx
mov dword [esp + 0x15c], ecx
lea edx, [esp + 0x2c1c]
lea ecx, [esp + 0x27dc]
mov dword [esp + 0x28], eax
mov byte [esp + 0x2e44], bl
mov dword [esp + 0x2e45], ebx
mov word [esp + 0x2e49], bx
mov byte [esp + 0x2e4b], bl
mov dword [esp + 0x11c], esi
mov dword [esp + 0x160], 0x10023320
mov dword [esp + 0x164], 0x10023350
mov dword [esp + 0x168], 0x100233a0
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov byte [esp + 0x23], bl
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], 5
cmp eax, ebx
jne 0x1002c979
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], edx
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0xb0], ecx
mov dword [eax], ebx
mov byte [esp + 0x3458], 0x16
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x10029a57
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0xb0]
cmp eax, ebx
je 0x10029d75
lea edx, [esp + 0x2c14]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x1003fc50
mov dword [esp + 0x84], 0x1003fc60
jmp 0x10029a90
push 0x1012b9e4
push str.1391
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x1c
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.._adaptor_cflashtool_api.cpp
mov byte [ecx + 4], bl
call fcn.10007180
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x17
push 3
push 0x1012ba0c
lea ecx, [esp + 0x22c0]
mov dword [esp + 0x22d8], edi
mov dword [esp + 0x22d4], ebx
mov byte [esp + 0x22c4], bl
call fcn.10007180
push esi
lea eax, [esp + 0x22bc]
push eax
lea ecx, [esp + 0x68]
push ecx
mov byte [esp + 0x3470], 0x18
call fcn.1000a2c0
add esp, 0xc
push eax
lea edx, [esp + 0x232c]
push edx
mov byte [esp + 0x346c], 0x19
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x1a
call fcn.1000a370
add esp, 0xc
push eax
lea ecx, [esp + 0x2308]
push ecx
mov byte [esp + 0x3464], 0x1b
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0x2c], eax
push str.da_source_type:__d
lea edx, [esp + 0x1f0]
push edx
mov byte [esp + 0x3460], 0x1c
call fcn.10009e20
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x345c], 0x1d
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x1e
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0xb0]
push edx
push eax
lea eax, [esp + 0x2e3c]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x1f
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x10029bf2
mov edi, dword [edi + 4]
jmp 0x10029bf5
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x10029c0f
mov eax, dword [eax + 4]
jmp 0x10029c12
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x1e
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x10029c48
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.10003aa0
cmp dword [esp + 0x2318], ebp
jb 0x10029c87
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x10029cb5
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x10029ce3
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x10029d0b
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x10029d30
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x16
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x10029d66
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
mov eax, dword [esp + 0xb0]
cmp eax, ebx
jne 0x10029a90
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x10029d91
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x2c14]
cmp eax, ebx
jne 0x10029df7
mov dword [esp + 0x25c4], ebx
xor eax, eax
jmp 0x10029db0
mov cl, byte [esp + eax + 0x29f4]
mov byte [esp + eax + 0x25c8], cl
inc eax
cmp cl, bl
jne 0x10029db0
lea edi, [esp + 0x25c8]
call fcn.10055b50
test al, al
je 0x10029e23
mov edi, dword [esp + 0x40]
mov dword [esp + 0x25c4], 2
call fcn.1001c650
mov dword [esp + 0x27c8], eax
mov dword [esp + 0x27cc], edx
jmp 0x10029e23
cmp eax, 1
jne 0x1002c5f7
mov edx, dword [esp + 0x2af8]
mov dword [esp + 0x25c4], eax
mov eax, dword [esp + 0x2afc]
mov dword [esp + 0x27d4], edx
mov dword [esp + 0x27d8], eax
mov eax, dword [0x1015d9ec]
cmp eax, ebx
je 0x10029e4a
push 0x10130170
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10029e4a
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x23]
push ecx
push esi
call eax
jmp 0x10029e53
mov esi, dword [esp + 0x14]
mov eax, 0xc001000c
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c979
cmp dword [esp + 0x3464], ebx
je 0x1002a3d6
push 0x1ff
lea edx, [esp + 0x2e51]
push ebx
push edx
mov byte [esp + 0x2e58], bl
call fcn.100d9c40
add esp, 0xc
lea eax, [esp + 0x2e4c]
push eax
push esi
call sym.Flashtoollib.dll_DL_Get_ScatterFilePath
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c979
lea ecx, [esp + 0x22ac]
push ecx
lea ecx, [esp + 0x2e50]
call fcn.1003dbd0
lea ecx, [esp + 0x22ac]
mov byte [esp + 0x3458], 0x2a
call fcn.100c17f0
lea edx, [esp + 0x94]
push edx
call fcn.1003dc80
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x22b0]
push ecx
lea edx, [esp + 0x22ec]
push edx
mov byte [esp + 0x3464], 0x2b
call fcn.1001a680
add esp, 0xc
lea ecx, [esp + 0x94]
mov byte [esp + 0x3458], 0x2d
call fcn.100031c0
lea eax, [esp + 0x22e4]
push eax
call fcn.1001a760
add esp, 4
test al, al
je 0x1002a121
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x24], ecx
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x30]
push ecx
mov esi, eax
call fcn.1000a440
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov dword [eax], ebx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x3458], 0x2e
call fcn.10002f90
cmp dword [esp + 0x40], ebx
je 0x1002a107
jmp 0x10029f80
push 0x1012b9e4
push str.1440
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0x10c]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x110]
mov byte [esp + 0x3468], 0x2f
call fcn.10006340
push esi
push eax
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x3470], 0x30
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0x64]
push ecx
mov byte [esp + 0x346c], 0x31
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x2328]
push edx
mov byte [esp + 0x3468], 0x32
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x22d0]
push eax
mov byte [esp + 0x3464], 0x33
call fcn.1000a370
add esp, 0xc
mov edi, eax
mov byte [esp + 0x3458], 0x34
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x40]
push ecx
push eax
lea edx, [esp + 0x2e3c]
push edx
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x35
mov ecx, dword [eax + 4]
add ecx, 4
push str.enable_PCDRAM_checksum
call fcn.10006de0
mov esi, eax
mov eax, edi
call fcn.1000a600
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x34
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002a0a3
mov eax, dword [esp + 0x22cc]
push eax
call fcn.100d41ba
add esp, 4
lea ecx, [esp + 0x231c]
mov dword [esp + 0x22e0], 0xf
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.100063b0
lea ecx, [esp + 0x54]
call fcn.100063b0
lea ecx, [esp + 0x124]
call fcn.100063b0
lea ecx, [esp + 0x100]
call fcn.100063b0
lea ecx, [esp + 0xe4]
mov byte [esp + 0x3458], 0x2e
call fcn.100063b0
cmp dword [esp + 0x40], ebx
jne 0x10029f80
lea ecx, [esp + 0x40]
mov byte [esp + 0x3458], 0x2d
call fcn.10002f90
or byte [esp + 0x23], 4
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x304c]
push ecx
push esi
call sym.Flashtoollib.dll_DL_Get_PreloaderFilePath
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002a154
lea ecx, [esp + 0x22e4]
call fcn.100031c0
lea ecx, [esp + 0x22ac]
call fcn.100031c0
jmp 0x1002c979
lea edx, [esp + 0x304c]
push str.preloader
push edx
call fcn.100d43c0
add esp, 8
test eax, eax
jne 0x1002a235
lea eax, [esp + 0x231c]
push eax
call fcn.1003dd30
lea ecx, [esp + 0x231c]
push ecx
lea edx, [esp + 0x22b0]
push edx
lea eax, [esp + 0x22d0]
push eax
mov byte [esp + 0x3464], 0x36
call fcn.1001a680
add esp, 0xc
lea ecx, [esp + 0x231c]
mov byte [esp + 0x3458], 0x38
call fcn.100031c0
lea ecx, [esp + 0x22c8]
push ecx
call fcn.1001a760
add esp, 4
test al, al
je 0x1002a221
push 0x200
lea edx, [esp + 0x3050]
push ebx
push edx
call fcn.100d9c40
add esp, 0xc
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x22cc]
call fcn.100030b0
push 0x1ff
mov ecx, eax
call fcn.100064b0
push eax
lea ecx, [esp + 0x3054]
push ecx
call fcn.100d4450
add esp, 0xc
lea ecx, [esp + 0xe4]
call fcn.100063b0
lea ecx, [esp + 0x22c8]
mov byte [esp + 0x3458], 0x2d
call fcn.100031c0
mov dword [esp + 0x2c1c], ebx
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x304c]
mov byte [esp + eax + 0x2c20], cl
inc eax
cmp cl, bl
jne 0x1002a240
lea edi, [esp + 0x304c]
call fcn.10055b50
test al, al
je 0x1002a283
mov edi, esi
mov dword [esp + 0x2c1c], 2
call fcn.1001c5a0
mov dword [esp + 0x2e20], eax
mov dword [esp + 0x2e24], edx
lea edx, [esp + 0x231c]
push edx
call fcn.1003de90
lea eax, [esp + 0x22c8]
push eax
mov byte [esp + 0x345c], 0x39
call fcn.1003dde0
lea ecx, [esp + 0x22c8]
push ecx
lea edx, [esp + 0x22b0]
push edx
lea eax, [esp + 0xec]
push eax
mov byte [esp + 0x3464], 0x3a
call fcn.1001a680
add esp, 0xc
lea ecx, [esp + 0x231c]
push ecx
push eax
lea edx, [esp + 0x2308]
push edx
mov byte [esp + 0x3464], 0x3b
call fcn.1001a680
add esp, 0xc
lea ecx, [esp + 0xe4]
call fcn.100031c0
lea ecx, [esp + 0x22c8]
call fcn.100031c0
lea ecx, [esp + 0x231c]
mov byte [esp + 0x3458], 0x3f
call fcn.100031c0
lea eax, [esp + 0x2300]
push eax
call fcn.1001a760
add esp, 4
test al, al
je 0x1002a3a4
lea ecx, [esp + 0x100]
push ecx
lea ecx, [esp + 0x2304]
mov dword [esp + 0x27e0], ebx
call fcn.100030b0
push 0x1ff
mov ecx, eax
call fcn.100064b0
push eax
lea edx, [esp + 0x27e8]
push edx
call fcn.100d4450
add esp, 0xc
lea ecx, [esp + 0x100]
call fcn.100063b0
lea edi, [esp + 0x27e0]
call fcn.10055b50
test al, al
je 0x1002a3a8
mov edi, esi
mov dword [esp + 0x27dc], 2
call fcn.1001c5a0
mov dword [esp + 0x29e0], eax
mov dword [esp + 0x29e4], edx
jmp 0x1002a3a8
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x2300]
call fcn.100031c0
lea ecx, [esp + 0x22e4]
call fcn.100031c0
lea ecx, [esp + 0x22ac]
mov byte [esp + 0x3458], 0xb
call fcn.100031c0
jmp 0x1002a3de
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x68]
push eax
call ecx
movzx edx, byte [esp + 0x23]
movzx eax, byte [esi + 0xa0]
movzx ecx, byte [esi + 0xa1]
mov dword [esp + 0xbc], edx
mov edx, dword [esi + 0xa4]
mov dword [esp + 0xc0], eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esi + 0xac]
mov dword [esp + 0xc8], edx
mov edx, dword [esi + 0xb0]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x1c]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], eax
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov dword [eax], ebx
mov byte [esp + 0x3458], 0x40
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x1002a494
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x1002a7ff
lea edx, [esp + 0xbc]
mov dword [esp + 0x7c], edx
lea edx, [esp + 0xc0]
mov eax, 0x10014a70
mov ecx, 0x10014a80
mov dword [esp + 0xd8], edx
lea edx, [esp + 0xc4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
jmp 0x1002a500
push 0x1012b9e4
push str.1504
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x1c
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.._adaptor_cflashtool_api.cpp
mov byte [ecx + 4], bl
call fcn.10007180
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x41
push 3
push 0x1012ba0c
lea ecx, [esp + 0x22c0]
mov dword [esp + 0x22d8], edi
mov dword [esp + 0x22d4], ebx
mov byte [esp + 0x22c4], bl
call fcn.10007180
push esi
lea eax, [esp + 0x22bc]
push eax
lea ecx, [esp + 0x68]
push ecx
mov byte [esp + 0x3470], 0x42
call fcn.1000a2c0
add esp, 0xc
push eax
lea edx, [esp + 0x232c]
push edx
mov byte [esp + 0x346c], 0x43
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x44
call fcn.1000a370
add esp, 0xc
push eax
lea ecx, [esp + 0x2308]
push ecx
mov byte [esp + 0x3464], 0x45
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0x2c], eax
push str.checksum_level:__d___battery_setting:__d__reset_key_setting:__d
lea edx, [esp + 0x1f0]
push edx
mov byte [esp + 0x3460], 0x46
call fcn.10009e20
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x345c], 0x47
call fcn.10011e10
lea edx, [esp + 0xdc]
add esp, 4
push edx
call fcn.10011e10
lea ecx, [esp + 0x8c]
add esp, 4
push ecx
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x48
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x40]
push edx
push eax
lea eax, [esp + 0x2e3c]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x49
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x1002a67f
mov edi, dword [edi + 4]
jmp 0x1002a682
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002a69c
mov eax, dword [eax + 4]
jmp 0x1002a69f
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x48
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002a6d5
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.10003aa0
cmp dword [esp + 0x2318], ebp
jb 0x1002a714
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002a742
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002a770
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002a798
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002a7bd
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x40
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x1002a7f3
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
mov eax, dword [esp + 0x40]
cmp eax, ebx
jne 0x1002a500
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002a818
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x40], ebx
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x50], edx
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [eax], ebx
mov byte [esp + 0x3458], 0x4a
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x1002a865
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x1002abce
lea edx, [esp + 0xc8]
mov dword [esp + 0x88], edx
lea edx, [esp + 0xcc]
mov dword [esp + 0xd8], edx
lea edx, [esp + 0xd0]
mov eax, 0x10014a70
mov ecx, 0x10014a80
mov dword [esp + 0x7c], edx
lea edx, [esp + 0xd4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0xdc], 0x1003fae0
mov dword [esp + 0xe0], 0x1003faf0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x2e34], edx
mov dword [esp + 0x2e38], eax
mov dword [esp + 0x2e3c], ecx
push 0x1012b9e4
push str.1506
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x22bc]
mov byte [esp + 0x3468], 0x4b
call fcn.10006340
push esi
push eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x3470], 0x4c
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0x232c]
push ecx
mov byte [esp + 0x346c], 0x4d
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x22f0]
push edx
mov byte [esp + 0x3468], 0x4e
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x2308]
push eax
mov byte [esp + 0x3464], 0x4f
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0x50], eax
push str.connect_da_end_stage:__d___enable_dram_in_1st_da:__d__da_log_level:__d__da_log_channel:__d
lea ecx, [esp + 0x1f0]
push ecx
mov byte [esp + 0x3460], 0x50
call fcn.10009e20
lea edx, [esp + 0x88]
push edx
mov byte [esp + 0x345c], 0x51
call fcn.10011e10
lea ecx, [esp + 0xdc]
add esp, 4
push ecx
call fcn.10011e10
lea edx, [esp + 0x80]
add esp, 4
push edx
call fcn.10011e10
lea ecx, [esp + 0x2e38]
add esp, 4
push ecx
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x52
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x2c]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x53
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x1002aa51
mov edi, dword [edi + 4]
jmp 0x1002aa54
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002aa6e
mov eax, dword [eax + 4]
jmp 0x1002aa71
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x52
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002aaa4
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.10003aa0
cmp dword [esp + 0x2318], ebp
jb 0x1002aae3
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002ab11
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002ab3f
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002ab67
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002ab8c
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x4a
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x1002abc2
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, ebx
jne 0x1002a8f0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002abe7
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x15c]
push edx
mov edx, dword [esp + 0x40]
lea eax, [esp + 0xc0]
push eax
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [ecx]
lea eax, [esp + 0x25d4]
push eax
push edx
call dword [sym.imp.FlashtoollibEx.dll_flashtool_connect_da]
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c979
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
lea eax, [esp + 0x2ac]
push eax
push edx
call dword [sym.imp.FlashtoollibEx.dll_flashtool_get_device_info]
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c979
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x2344]
push eax
push ecx
call sym.Flashtoollib.dll_FlashTool_GetDAReport
movzx edx, word [esp + 0x454]
push edx
lea eax, [esp + 0x2e48]
push str.MT_04X
push eax
call fcn.100d334d
add esp, 0xc
xor eax, eax
jmp 0x1002ac80
mov cl, byte [esp + eax + 0x2e44]
mov byte [esp + eax + 0x234c], cl
inc eax
cmp cl, bl
jne 0x1002ac80
lea ecx, [esp + 0x234c]
push ecx
call sym.Flashtoollib.dll_BBChipTypeFromBBChipName
mov dx, word [esp + 0x458]
mov cx, word [esp + 0x454]
mov dword [esp + 0x2348], eax
mov ax, word [esp + 0x45a]
mov word [esp + 0x236e], ax
mov eax, 2
mov dword [esp + 0x2374], eax
mov dword [esp + 0x23ec], eax
mov eax, dword [esp + 0x450]
mov word [esp + 0x236c], dx
mov edx, dword [esp + 0x44c]
mov word [esp + 0x2370], cx
mov ecx, dword [esp + 0x434]
mov dword [esp + 0x23f8], eax
mov eax, 0xc6a
mov dword [esp + 0x23f4], edx
mov dword [esp + 0x23e4], ecx
mov dword [esp + 0x2460], eax
mov dword [esp + 0x23a0], eax
mov dword [esp + 0x237c], eax
mov dword [esp + 0x24bc], eax
mov dword [esp + 0x24dc], eax
mov dword [esp + 0x23e8], eax
cmp dword [esp + 0x43c], ebx
je 0x1002ad53
mov dword [esp + 0x23e8], ebx
cmp dword [esp + 0x2ac], 1
jne 0x1002b5c7
mov edx, dword [esp + 0x2b4]
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2bc]
mov dword [esp + 0x2464], edx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x2468], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x246c], ecx
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0x2470], edx
mov edx, dword [esp + 0x2cc]
mov dword [esp + 0x2474], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x2478], ecx
mov ecx, dword [esp + 0x2d4]
mov dword [esp + 0x247c], edx
mov edx, dword [esp + 0x2d8]
mov dword [esp + 0x2480], eax
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2484], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x2488], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x248c], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x2490], ecx
mov ecx, dword [esp + 0x2ec]
mov dword [esp + 0x2494], edx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0x2498], eax
mov dword [esp + 0x249c], ecx
xor eax, eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x2460], ebx
mov dword [esp + 0x48], 2
mov dword [esp + 0x24a0], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
mov edi, edi
mov edx, dword [esp + eax*4 + 0x2f4]
mov dword [esp + eax*4 + 0x24a4], edx
mov dword [esp + 0x50], 1
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x34]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
mov dword [eax], ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x3458], 0x54
call fcn.10002f90
cmp dword [esp + 0x3c], ebx
je 0x1002b1c4
mov eax, 0x10014a70
mov ecx, 0x10014a80
lea edx, [esp + 0x24]
mov dword [esp + 0x2e34], edx
mov dword [esp + 0x2e38], eax
mov dword [esp + 0x2e3c], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
jmp 0x1002aef0
push 0x1012b9e4
push str.1621
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x22bc]
mov byte [esp + 0x3468], 0x55
call fcn.10006340
push esi
push eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x3470], 0x56
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0x232c]
push ecx
mov byte [esp + 0x346c], 0x57
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x22f0]
push edx
mov byte [esp + 0x3468], 0x58
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x2308]
push eax
mov byte [esp + 0x3464], 0x59
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0xb8], eax
push str.m_emmc_cid__d_:_0x_x
lea ecx, [esp + 0x1f0]
push ecx
mov byte [esp + 0x3460], 0x5a
call fcn.10009e20
lea edx, [esp + 0x2e34]
push edx
mov byte [esp + 0x345c], 0x5b
call fcn.10011e10
mov ecx, dword [esp + 0x28]
lea edx, [esp + ecx*4 + 0x24a8]
lea ecx, [esp + 0x8c]
add esp, 4
push ecx
mov dword [esp + 0x8c], edx
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x5c
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x5d
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x1002b046
mov edi, dword [edi + 4]
jmp 0x1002b049
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002b066
mov eax, dword [eax + 4]
jmp 0x1002b069
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x5c
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002b09c
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.10003aa0
cmp dword [esp + 0x2318], ebp
jb 0x1002b0db
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002b109
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002b137
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002b15f
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002b184
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x54
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x1002b1ba
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
cmp dword [esp + 0x3c], ebx
jne 0x1002aef0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, 4
jb 0x1002ae60
xor eax, eax
lea edx, [esp + 0xb8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], edx
jmp 0x1002b200
mov cl, byte [esp + eax + 0x304]
mov byte [esp + eax + 0x24b4], cl
mov dword [esp + 0xb8], 1
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x20]
push ecx
mov esi, eax
call fcn.1000a440
mov edx, dword [eax]
mov dword [esp + 0x3c], edx
mov dword [eax], ebx
mov byte [esp + 0x3458], 0x5e
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x1002b256
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x1002b59c
lea eax, [esp + 0x30]
mov dword [esp + 0x2e34], eax
mov eax, 0x10014a70
mov ecx, 0x10014a80
lea edx, [esp + 0x34]
mov dword [esp + 0x2e38], eax
mov dword [esp + 0x2e3c], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov edi, edi
mov eax, dword [esp + 0x30]
movzx ecx, byte [esp + eax + 0x24b4]
push 0x1012b9e4
push str.1627
push str.__line:
sub esp, 0x1c
mov dword [esp + 0x5c], ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x1c
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.._adaptor_cflashtool_api.cpp
mov byte [ecx + 4], bl
call fcn.10007180
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x5f
push 3
push 0x1012ba0c
lea ecx, [esp + 0x22c0]
mov dword [esp + 0x22d8], edi
mov dword [esp + 0x22d4], ebx
mov byte [esp + 0x22c4], bl
call fcn.10007180
push esi
lea edx, [esp + 0x22bc]
push edx
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x3470], 0x60
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0x232c]
push ecx
mov byte [esp + 0x346c], 0x61
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x22f0]
push edx
mov byte [esp + 0x3468], 0x62
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x2308]
push eax
mov byte [esp + 0x3464], 0x63
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0x18], eax
push str.m_emmc_fwver__d_:_0x_x
lea ecx, [esp + 0x1f0]
push ecx
mov byte [esp + 0x3460], 0x64
call fcn.10009e20
lea edx, [esp + 0x2e34]
push edx
mov byte [esp + 0x345c], 0x65
call fcn.10011e10
lea ecx, [esp + 0x8c]
add esp, 4
push ecx
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x66
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x67
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x1002b41f
mov edi, dword [edi + 4]
jmp 0x1002b422
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002b43c
mov eax, dword [eax + 4]
jmp 0x1002b43f
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x66
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002b472
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.10003aa0
cmp dword [esp + 0x2318], ebp
jb 0x1002b4b1
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002b4df
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002b50d
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002b535
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002b55a
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x5e
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x1002b590
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jne 0x1002b2a0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002b5b5
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 8
jb 0x1002b200
cmp dword [esp + 0x2ac], 2
jne 0x1002b634
mov edx, dword [esp + 0x2ec]
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0x24c4], edx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 0x24c8], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x24cc], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x24bc], ebx
mov dword [esp + 0x48], 3
mov dword [esp + 0x24d0], edx
mov dword [esp + 0x24d4], eax
mov dword [esp + 0x24d8], ecx
mov edx, dword [esp + 0x314]
and dl, 0xf0
cmp dl, 0x10
jne 0x1002b6a0
mov ecx, dword [esp + 0x318]
mov eax, dword [esp + 0x31c]
xor edx, edx
div ecx
mov edx, dword [esp + 0x328]
mov word [esp + 0x23d6], cx
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x23a0], ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x23ac], ecx
mov dword [esp + 0x23b0], edx
mov word [esp + 0x23da], ax
mov ax, word [esp + 0x320]
mov word [esp + 0x23d8], ax
mov eax, dword [esp + 0x344]
cmp eax, 0x21
je 0x1002b6b1
cmp eax, 0x22
jne 0x1002b6ca
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x237c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x238c], eax
cmp dword [esp + 0x354], 0x30
jne 0x1002b7c2
mov ecx, dword [esp + 0x35c]
mov edx, dword [esp + 0x360]
mov eax, dword [esp + 0x364]
mov dword [esp + 0x24e4], ecx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x24f0], ecx
mov ecx, dword [esp + 0x376]
mov dword [esp + 0x24e8], edx
mov edx, dword [esp + 0x36c]
mov dword [esp + 0x24ec], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 0x24fe], ecx
mov ecx, dword [esp + 0x382]
mov dword [esp + 0x24f4], edx
mov edx, dword [esp + 0x37a]
mov dword [esp + 0x24f8], eax
mov eax, dword [esp + 0x37e]
mov dword [esp + 0x250a], ecx
mov ecx, dword [esp + 0x38e]
mov dword [esp + 0x2502], edx
mov edx, dword [esp + 0x386]
mov dword [esp + 0x2506], eax
mov eax, dword [esp + 0x38a]
mov dword [esp + 0x250e], edx
mov dx, word [esp + 0x374]
mov dword [esp + 0x2513], ecx
mov ecx, 0x21
lea esi, [esp + 0x392]
lea edi, [esp + 0x2514]
mov dword [esp + 0x24dc], ebx
mov dword [esp + 0x250f], eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], 4
mov word [esp + 0x24fc], dx
mov eax, dword [esp + 0x460]
mov ecx, dword [esp + 0x464]
mov edx, dword [esp + 0x468]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x244c], eax
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x2450], ecx
mov dword [esp + 0x2454], edx
mov dword [esp + 0x2458], eax
mov ecx, 0x96
lea esi, [esp + 0x2344]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2344]
push ecx
call fcn.100233d0
mov eax, dword [0x1015d9ec]
add esp, 4
cmp eax, ebx
je 0x1002b846
push 0x10130218
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x1002b846
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x2344]
push edx
push ecx
call eax
jmp 0x1002b84b
mov eax, 0xc001000c
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c979
mov edx, dword [esp + 0x44]
cmp dword [edx + 0xa4], 2
jne 0x1002c5d8
cmp dword [esp + 0x3464], ebx
je 0x1002c5d8
cmp dword [esp + 0x48], 5
jne 0x1002bb0d
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], eax
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov dword [eax], ebx
lea ecx, [esp + 0x34]
mov byte [esp + 0x3458], 0x68
call fcn.10002f90
cmp dword [esp + 0x44], ebx
je 0x1002baef
jmp 0x1002b8d0
push 0x1012b9e4
push str.1689
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x64]
mov byte [esp + 0x3468], 0x69
call fcn.10006340
push esi
push eax
lea edx, [esp + 0x2330]
push edx
mov byte [esp + 0x3470], 0x6a
call fcn.1000a2c0
add esp, 0xc
push eax
lea eax, [esp + 0x22f4]
push eax
mov byte [esp + 0x346c], 0x6b
call fcn.1000a370
add esp, 0xc
push eax
lea ecx, [esp + 0x230c]
push ecx
mov byte [esp + 0x3468], 0x6c
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x22d0]
push edx
mov byte [esp + 0x3464], 0x6d
call fcn.1000a370
add esp, 0xc
mov edi, eax
mov byte [esp + 0x3458], 0x6e
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x44]
push ecx
push eax
lea edx, [esp + 0x78]
push edx
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x6f
mov esi, dword [eax + 4]
push 0x1a
add esi, 4
push str.device_storage_init_fail__
mov ecx, esi
call fcn.100087c0
mov eax, dword [edi + 0x14]
cmp dword [edi + 0x18], ebp
jb 0x1002b9cb
mov edi, dword [edi + 4]
jmp 0x1002b9ce
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x6e
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002ba01
mov eax, dword [esp + 0x22cc]
push eax
call fcn.100d41ba
add esp, 4
mov esi, 0xf
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
cmp dword [esp + 0x2318], ebp
jb 0x1002ba34
mov ecx, dword [esp + 0x2304]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002ba62
mov edx, dword [esp + 0x22e8]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002ba90
mov eax, dword [esp + 0x2320]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002bab8
mov ecx, dword [esp + 0x58]
push ecx
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x68
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0xac], ebp
jb 0x1002bae5
mov edx, dword [esp + 0x98]
push edx
call fcn.100d41ba
add esp, 4
cmp dword [esp + 0x44], ebx
jne 0x1002b8d0
lea ecx, [esp + 0x44]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov dword [esp + 0x28], 0xc0040009
jmp 0x1002c979
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x2e34]
push eax
push edi
mov byte [esp + 0x2e3c], bl
mov dword [esp + 0x2e3d], ebx
mov dword [esp + 0x2e41], ebx
mov dword [esp + 0x2e45], ebx
mov word [esp + 0x2e49], bx
mov byte [esp + 0x2e4b], bl
call sym.Flashtoollib.dll_DL_GetScatterVersion
lea ecx, [esp + 0x2e34]
push 0x1012d9a8
push ecx
call fcn.100d43c0
add esp, 8
test eax, eax
jne 0x1002c03a
lea edx, [esp + 0x231c]
push edx
push edi
call sym.Flashtoollib.dll_DL_GetPlatformInfo
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002bd98
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], eax
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a440
push eax
lea ecx, [esp + 0x18]
call fcn.10002f70
lea ecx, [esp + 0x34]
mov byte [esp + 0x3458], 0x70
call fcn.10002f90
cmp dword [esp + 0x14], ebx
je 0x1002bd82
mov edi, edi
push 0x1012b9e4
push str.1704
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0x230c]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x2310]
mov byte [esp + 0x3468], 0x71
call fcn.10006340
push esi
push eax
lea eax, [esp + 0x22dc]
push eax
mov byte [esp + 0x3470], 0x72
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x346c], 0x73
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x3468], 0x74
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x108]
push eax
mov byte [esp + 0x3464], 0x75
call fcn.1000a370
add esp, 0xc
mov edi, eax
push str.DL_GetPlatformInfo_failed._0x_x_
lea ecx, [esp + 0x1f0]
push ecx
mov byte [esp + 0x3460], 0x76
call fcn.10009e20
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x345c], 0x77
call fcn.1003d9f0
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x78
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x79
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a600
mov esi, eax
mov eax, edi
call fcn.1000a600
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x78
call fcn.10006d40
lea ecx, [esp + 0xe4]
call fcn.100063b0
lea edi, [esp + 0x1ec]
call fcn.10003aa0
lea ecx, [esp + 0x100]
call fcn.100063b0
lea ecx, [esp + 0x124]
call fcn.100063b0
lea ecx, [esp + 0x94]
call fcn.100063b0
lea ecx, [esp + 0x22c8]
call fcn.100063b0
lea ecx, [esp + 0x2300]
call fcn.100063b0
lea ecx, [esp + 0x22e4]
mov byte [esp + 0x3458], 0x70
call fcn.100063b0
cmp dword [esp + 0x14], ebx
jne 0x1002bbd0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
jmp 0x1002c979
mov eax, dword [esp + 0x2340]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
cmp eax, esi
je 0x1002c03a
push 0x1ff
lea ecx, [esp + 0x2e51]
push ebx
push ecx
mov byte [esp + 0x2e58], bl
call fcn.100d9c40
add esp, 0xc
push esi
call sym.Flashtoollib.dll_HWStorageTypeToString
mov edx, dword [esp + 0x1c]
push eax
push edx
call sym.Flashtoollib.dll_HWStorageTypeToString
push eax
lea eax, [esp + 0x2e54]
push str.Storage_type_mismatch__n_scatter:__t_s_n_device:__t_s
push eax
call fcn.100d334d
mov edx, dword [esp + 0x5c]
mov eax, dword [edx]
add esp, 0x10
lea ecx, [esp + 0x2e4c]
push ecx
push eax
call dword [sym.imp.FlashtoollibEx.dll__flashtool_set_last_errmsg_8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], ecx
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
push ecx
mov esi, eax
call fcn.1000a440
push eax
lea ecx, [esp + 0x18]
call fcn.10002f70
lea ecx, [esp + 0x34]
mov byte [esp + 0x3458], 0x7a
call fcn.10002f90
cmp dword [esp + 0x14], ebx
je 0x1002c01c
jmp 0x1002be60
push 0x1012b9e4
push str.1716
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0x230c]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x2310]
mov byte [esp + 0x3468], 0x7b
call fcn.10006340
push esi
push eax
lea edx, [esp + 0x22dc]
push edx
mov byte [esp + 0x3470], 0x7c
call fcn.1000a2c0
add esp, 0xc
push eax
lea eax, [esp + 0xa4]
push eax
mov byte [esp + 0x346c], 0x7d
call fcn.1000a370
add esp, 0xc
push eax
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x3468], 0x7e
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x108]
push edx
mov byte [esp + 0x3464], 0x7f
call fcn.1000a370
add esp, 0xc
mov edi, eax
push str.Storage_check_failed.__scatter:_x___device:0x_x__
lea eax, [esp + 0x1f0]
push eax
mov byte [esp + 0x3460], 0x80
call fcn.10009e20
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x345c], 0x81
call fcn.1003df40
push eax
lea eax, [esp + 0x4c]
call fcn.1003df40
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x82
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x78]
push edx
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x83
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a600
mov esi, eax
mov eax, edi
call fcn.1000a600
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x82
call fcn.10006d40
lea ecx, [esp + 0xe4]
call fcn.100063b0
lea edi, [esp + 0x1ec]
call fcn.10003aa0
lea ecx, [esp + 0x100]
call fcn.100063b0
lea ecx, [esp + 0x124]
call fcn.100063b0
lea ecx, [esp + 0x94]
call fcn.100063b0
lea ecx, [esp + 0x22c8]
call fcn.100063b0
lea ecx, [esp + 0x2300]
call fcn.100063b0
lea ecx, [esp + 0x22e4]
mov byte [esp + 0x3458], 0x7a
call fcn.100063b0
cmp dword [esp + 0x14], ebx
jne 0x1002be60
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov dword [esp + 0x28], 0xc0030006
jmp 0x1002c979
lea eax, [esp + 0x2e34]
push str.V1.1.8
push eax
call fcn.100d43c0
add esp, 8
test eax, eax
je 0x1002c5d8
lea ecx, [esp + 0x2e4c]
push ecx
push edi
call sym.Flashtoollib.dll_DL_GetScatterInfo
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002c288
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a440
push eax
lea ecx, [esp + 0x18]
call fcn.10002f70
lea ecx, [esp + 0x34]
mov byte [esp + 0x3458], 0x84
call fcn.10002f90
cmp dword [esp + 0x14], ebx
je 0x1002c272
mov edi, edi
push 0x1012b9e4
push str.1729
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0x230c]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x2310]
mov byte [esp + 0x3468], 0x85
call fcn.10006340
push esi
push eax
lea eax, [esp + 0x22dc]
push eax
mov byte [esp + 0x3470], 0x86
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x346c], 0x87
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x3468], 0x88
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x108]
push eax
mov byte [esp + 0x3464], 0x89
call fcn.1000a370
add esp, 0xc
mov edi, eax
push str.DL_GetScatterInfo_failed._0x_x_
lea ecx, [esp + 0x1f0]
push ecx
mov byte [esp + 0x3460], 0x8a
call fcn.10009e20
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x345c], 0x8b
call fcn.1003d9f0
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x8c
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x8d
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a600
mov esi, eax
mov eax, edi
call fcn.1000a600
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x8c
call fcn.10006d40
lea ecx, [esp + 0xe4]
call fcn.100063b0
lea edi, [esp + 0x1ec]
call fcn.10003aa0
lea ecx, [esp + 0x100]
call fcn.100063b0
lea ecx, [esp + 0x124]
call fcn.100063b0
lea ecx, [esp + 0x94]
call fcn.100063b0
lea ecx, [esp + 0x22c8]
call fcn.100063b0
lea ecx, [esp + 0x2300]
call fcn.100063b0
lea ecx, [esp + 0x22e4]
mov byte [esp + 0x3458], 0x84
call fcn.100063b0
cmp dword [esp + 0x14], ebx
jne 0x1002c0c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
jmp 0x1002c979
cmp byte [esp + 0x3010], bl
je 0x1002c5d8
lea ecx, [esp + 0x3011]
push ecx
lea ecx, [esp + 0x22b0]
call fcn.10006340
lea edx, [esp + 0x22ac]
push 0x1012b000
push edx
mov byte [esp + 0x3460], 0x8e
call fcn.1003d5a0
add esp, 8
test al, al
jne 0x1002c5bb
lea eax, [esp + 0x22ac]
push 0x1012da78
push eax
call fcn.1003d5a0
add esp, 8
test al, al
jne 0x1002c5bb
lea ecx, [esp + 0x22ac]
push str.6177m
push ecx
call fcn.1003d5a0
add esp, 8
test al, al
je 0x1002c310
mov esi, dword [esp + 0x45c]
cmp esi, 1
jne 0x1002c33d
lea edx, [esp + 0x22ac]
push str.6177
push edx
call fcn.1003d5a0
add esp, 8
test al, al
je 0x1002c5cc
mov esi, dword [esp + 0x45c]
cmp esi, 2
je 0x1002c5cc
push 0x1ff
lea eax, [esp + 0x3251]
push ebx
push eax
mov byte [esp + 0x3258], bl
call fcn.100d9c40
add esp, 0xc
push esi
lea ecx, [esp + 0x22b0]
call fcn.100064b0
push eax
lea ecx, [esp + 0x3254]
push str.modem_mismtach__n_scatter:__t_s_n_device:__tV_d
push ecx
call fcn.100d334d
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x324c]
push edx
push ecx
call dword [sym.imp.FlashtoollibEx.dll__flashtool_set_last_errmsg_8]
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a440
push eax
lea ecx, [esp + 0x18]
call fcn.10002f70
lea ecx, [esp + 0x34]
mov byte [esp + 0x3458], 0x8f
call fcn.10002f90
cmp dword [esp + 0x14], ebx
je 0x1002c5a2
nop
push 0x1012b9e4
push str.1745
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.._adaptor_cflashtool_api.cpp
call fcn.10006340
lea esi, [esp + 0x230c]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
push 0x1012ba0c
lea ecx, [esp + 0x2310]
mov byte [esp + 0x3468], 0x90
call fcn.10006340
push esi
push eax
lea eax, [esp + 0x22dc]
push eax
mov byte [esp + 0x3470], 0x91
call fcn.1000a2c0
add esp, 0xc
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x346c], 0x92
call fcn.1000a370
add esp, 0xc
push eax
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x3468], 0x93
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x108]
push eax
mov byte [esp + 0x3464], 0x94
call fcn.1000a370
add esp, 0xc
mov edi, eax
push str.modem_type_check_failed.__scatter:_s___device:0x_x__
lea ecx, [esp + 0x1f0]
push ecx
mov byte [esp + 0x3460], 0x95
call fcn.10009e20
push eax
lea eax, [esp + 0x22b0]
mov byte [esp + 0x345c], 0x96
call fcn.1003db40
push eax
lea eax, [esp + 0x460]
call fcn.1000a150
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x97
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x98
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a600
mov esi, eax
mov eax, edi
call fcn.1000a600
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x97
call fcn.10006d40
lea ecx, [esp + 0xe4]
call fcn.100063b0
lea edi, [esp + 0x1ec]
call fcn.10003aa0
lea ecx, [esp + 0x100]
call fcn.100063b0
lea ecx, [esp + 0x124]
call fcn.100063b0
lea ecx, [esp + 0x94]
call fcn.100063b0
lea ecx, [esp + 0x22c8]
call fcn.100063b0
lea ecx, [esp + 0x2300]
call fcn.100063b0
lea ecx, [esp + 0x22e4]
mov byte [esp + 0x3458], 0x8f
call fcn.100063b0
cmp dword [esp + 0x14], ebx
jne 0x1002c3e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0x8e
call fcn.10002f90
mov dword [esp + 0x28], 0xc003000f
lea ecx, [esp + 0x22ac]
call fcn.100063b0
jmp 0x1002c979
lea ecx, [esp + 0x22ac]
call fcn.100063b0
lea ecx, [esp + 0x25a0]
push ecx
mov dword [esp + 0x345c], 0xffffffff
call fcn.10054f00
xor eax, eax
jmp 0x1002c9a4
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005bc20
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
mov esi, eax
call fcn.1000a440
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov dword [eax], ebx
mov byte [esp + 0x3458], 0x20
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x1002c644
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1002c95c
lea edx, [esp + 0x2c14]
mov dword [esp + 0x2e34], edx
mov dword [esp + 0x2e38], 0x1003fc50
mov dword [esp + 0x2e3c], 0x1003fc60
jmp 0x1002c680
push 0x1012b9e4
push str.1410
push str.__line:
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x1c
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.._adaptor_cflashtool_api.cpp
mov byte [ecx + 4], bl
call fcn.10007180
lea esi, [esp + 0xbc]
call fcn.1001a7c0
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x21
push 3
push 0x1012ba0c
lea ecx, [esp + 0x22c0]
mov dword [esp + 0x22d8], edi
mov dword [esp + 0x22d4], ebx
mov byte [esp + 0x22c4], bl
call fcn.10007180
push esi
lea eax, [esp + 0x22bc]
push eax
lea ecx, [esp + 0x68]
push ecx
mov byte [esp + 0x3470], 0x22
call fcn.1000a2c0
add esp, 0xc
push eax
lea edx, [esp + 0x232c]
push edx
mov byte [esp + 0x346c], 0x23
call fcn.1000a370
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x24
call fcn.1000a370
add esp, 0xc
push eax
lea ecx, [esp + 0x2308]
push ecx
mov byte [esp + 0x3464], 0x25
call fcn.1000a370
add esp, 0xc
mov dword [esp + 0x18], eax
push str.da_source_type:__d_NOT_support
lea edx, [esp + 0x1f0]
push edx
mov byte [esp + 0x3460], 0x26
call fcn.10009e20
lea ecx, [esp + 0x2e34]
push ecx
mov byte [esp + 0x345c], 0x27
call fcn.10011e10
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f20
mov edi, eax
mov byte [esp + 0x3458], 0x28
call fcn.1005bc20
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a4f0
add esp, 0xc
mov byte [esp + 0x3458], 0x29
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x14]
add esi, 4
cmp dword [edi + 0x18], ebp
jb 0x1002c7df
mov edi, dword [edi + 4]
jmp 0x1002c7e2
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087c0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002c7fc
mov eax, dword [eax + 4]
jmp 0x1002c7ff
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x28
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002c832
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41ba
add esp, 4
mov esi, 0xf
lea edi, [esp + 0x1ec]
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
call fcn.10003aa0
cmp dword [esp + 0x2318], ebp
jb 0x1002c871
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002c89f
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002c8cd
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002c8f5
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41ba
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002c91a
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41ba
add esp, 4
mov byte [esp + 0x3458], 0x20
mov dword [esp + 0x22c4], esi
mov dword [esp + 0x22c0], ebx
mov byte [esp + 0x22b0], bl
cmp dword [esp + 0xac], ebp
jb 0x1002c950
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41ba
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
jne 0x1002c680
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002c971
push eax
call fcn.10073310
add esp, 4
mov dword [esp + 0x28], 0xc0070002
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
push eax
call dword [sym.imp.FlashtoollibEx.dll_flashtool_destroy_session]
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x25a0]
push ecx
mov dword [esp + 0x345c], 0xffffffff
call fcn.10054f00
mov eax, esi
mov ecx, dword [esp + 0x3450]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3438]
xor ecx, esp
call fcn.100d32e1
add esp, 0x3448
ret 8