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

Disassembly:
push 0xffffffffffffffff
push 0x1011f007
mov eax, dword fs:[0]
push eax
mov eax, 0x343c
call fcn.100dc630
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.1362
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.10054c90
mov ebp, 0x10
cmp dword [esp + 0x194], ebp
jb 0x1002949e
mov ecx, dword [esp + 0x180]
push ecx
call fcn.100d41da
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 0x100294d3
mov edx, dword [esp + 0x19c]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
cmp dword [esp + 0x1cc], ebp
jb 0x10029501
mov eax, dword [esp + 0x1b8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
cmp dword [esp + 0x158], ebp
jb 0x1002952f
mov ecx, dword [esp + 0x144]
push ecx
call fcn.100d41da
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 0x10029565
mov edx, dword [esp + 0x1d4]
push edx
call fcn.100d41da
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.1005bc40
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 0x100295ca
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x100298e5
lea edx, [esp + 0x3464]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x1003fc50
mov dword [esp + 0x84], 0x1003fc60
lea ebx, [ebx]
push 0x1012b9e4
push str.1363
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.1005bc40
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 0x10029762
mov edi, dword [edi + 4]
jmp 0x10029765
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 0x1002977f
mov eax, dword [eax + 4]
jmp 0x10029782
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 0x100297b2
mov ecx, dword [esp + 0x58]
push ecx
call fcn.100d41da
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 0x100297e8
mov edx, dword [esp + 0x2320]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x22fc], ebp
jb 0x10029816
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2318], ebp
jb 0x10029844
mov ecx, dword [esp + 0x2304]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22e0], ebp
jb 0x10029872
mov edx, dword [esp + 0x22cc]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
cmp dword [esp + 0x22c4], ebp
jb 0x100298a0
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x100298d6
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
mov eax, dword [esp + 0xb4]
cmp eax, ebx
jne 0x10029600
mov esi, dword [esp + 0x44]
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x10029905
push eax
call fcn.10073330
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.100d9c70
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 0x10029959
push 0x1012fe18
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10029959
lea ecx, [esp + 0x29f4]
push ecx
push edi
call eax
jmp 0x1002995e
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], 0x10023350
mov dword [esp + 0x164], 0x10023380
mov dword [esp + 0x168], 0x100233d0
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 0x1002c9a9
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], edx
call fcn.1005bc40
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 0x10029a87
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0xb0]
cmp eax, ebx
je 0x10029da5
lea edx, [esp + 0x2c14]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x1003fc80
mov dword [esp + 0x84], 0x1003fc90
jmp 0x10029ac0
push 0x1012b9e4
push str.1392
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.1005bc40
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 0x10029c22
mov edi, dword [edi + 4]
jmp 0x10029c25
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 0x10029c3f
mov eax, dword [eax + 4]
jmp 0x10029c42
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 0x10029c78
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41da
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 0x10029cb7
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x10029ce5
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x10029d13
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x10029d3b
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x10029d60
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x10029d96
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
mov eax, dword [esp + 0xb0]
cmp eax, ebx
jne 0x10029ac0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x10029dc1
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x2c14]
cmp eax, ebx
jne 0x10029e27
mov dword [esp + 0x25c4], ebx
xor eax, eax
jmp 0x10029de0
mov cl, byte [esp + eax + 0x29f4]
mov byte [esp + eax + 0x25c8], cl
inc eax
cmp cl, bl
jne 0x10029de0
lea edi, [esp + 0x25c8]
call fcn.10055b80
test al, al
je 0x10029e53
mov edi, dword [esp + 0x40]
mov dword [esp + 0x25c4], 2
call fcn.1001c650
mov dword [esp + 0x27c8], eax
mov dword [esp + 0x27cc], edx
jmp 0x10029e53
cmp eax, 1
jne 0x1002c627
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 0x10029e7a
push 0x101301a0
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10029e7a
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x23]
push ecx
push esi
call eax
jmp 0x10029e83
mov esi, dword [esp + 0x14]
mov eax, 0xc001000c
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c9a9
cmp dword [esp + 0x3464], ebx
je 0x1002a406
push 0x1ff
lea edx, [esp + 0x2e51]
push ebx
push edx
mov byte [esp + 0x2e58], bl
call fcn.100d9c70
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 0x1002c9a9
lea ecx, [esp + 0x22ac]
push ecx
lea ecx, [esp + 0x2e50]
call fcn.1003dc00
lea ecx, [esp + 0x22ac]
mov byte [esp + 0x3458], 0x2a
call fcn.100c1820
lea edx, [esp + 0x94]
push edx
call fcn.1003dcb0
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 0x1002a151
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x24], ecx
call fcn.1005bc40
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 0x1002a137
jmp 0x10029fb0
push 0x1012b9e4
push str.1441
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.1005bc40
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 0x1002a0d3
mov eax, dword [esp + 0x22cc]
push eax
call fcn.100d41da
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 0x10029fb0
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 0x1002a184
lea ecx, [esp + 0x22e4]
call fcn.100031c0
lea ecx, [esp + 0x22ac]
call fcn.100031c0
jmp 0x1002c9a9
lea edx, [esp + 0x304c]
push str.preloader
push edx
call fcn.100d43e0
add esp, 8
test eax, eax
jne 0x1002a265
lea eax, [esp + 0x231c]
push eax
call fcn.1003dd60
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 0x1002a251
push 0x200
lea edx, [esp + 0x3050]
push ebx
push edx
call fcn.100d9c70
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.100d4470
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 0x1002a270
lea edi, [esp + 0x304c]
call fcn.10055b80
test al, al
je 0x1002a2b3
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.1003dec0
lea eax, [esp + 0x22c8]
push eax
mov byte [esp + 0x345c], 0x39
call fcn.1003de10
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 0x1002a3d4
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.100d4470
add esp, 0xc
lea ecx, [esp + 0x100]
call fcn.100063b0
lea edi, [esp + 0x27e0]
call fcn.10055b80
test al, al
je 0x1002a3d8
mov edi, esi
mov dword [esp + 0x27dc], 2
call fcn.1001c5a0
mov dword [esp + 0x29e0], eax
mov dword [esp + 0x29e4], edx
jmp 0x1002a3d8
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 0x1002a40e
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.1005bc40
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 0x1002a4c4
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x1002a82f
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 0x1002a530
push 0x1012b9e4
push str.1505
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.1005bc40
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 0x1002a6af
mov edi, dword [edi + 4]
jmp 0x1002a6b2
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 0x1002a6cc
mov eax, dword [eax + 4]
jmp 0x1002a6cf
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 0x1002a705
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41da
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 0x1002a744
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002a772
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002a7a0
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002a7c8
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002a7ed
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x1002a823
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
mov eax, dword [esp + 0x40]
cmp eax, ebx
jne 0x1002a530
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002a848
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x40], ebx
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x50], edx
call fcn.1005bc40
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 0x1002a895
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x1002abfe
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], 0x1003fb10
mov dword [esp + 0xe0], 0x1003fb20
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.1507
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.1005bc40
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 0x1002aa81
mov edi, dword [edi + 4]
jmp 0x1002aa84
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 0x1002aa9e
mov eax, dword [eax + 4]
jmp 0x1002aaa1
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 0x1002aad4
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41da
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 0x1002ab13
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002ab41
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002ab6f
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002ab97
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002abbc
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x1002abf2
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, ebx
jne 0x1002a920
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002ac17
push eax
call fcn.10073330
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 0x1002c9a9
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 0x1002c9a9
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.100d336d
add esp, 0xc
xor eax, eax
jmp 0x1002acb0
mov cl, byte [esp + eax + 0x2e44]
mov byte [esp + eax + 0x234c], cl
inc eax
cmp cl, bl
jne 0x1002acb0
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 0x1002ad83
mov dword [esp + 0x23e8], ebx
cmp dword [esp + 0x2ac], 1
jne 0x1002b5f7
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.1005bc40
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 0x1002b1f4
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 0x1002af20
push 0x1012b9e4
push str.1622
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.1005bc40
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 0x1002b076
mov edi, dword [edi + 4]
jmp 0x1002b079
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 0x1002b096
mov eax, dword [eax + 4]
jmp 0x1002b099
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 0x1002b0cc
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41da
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 0x1002b10b
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002b139
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002b167
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002b18f
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002b1b4
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x1002b1ea
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
cmp dword [esp + 0x3c], ebx
jne 0x1002af20
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 0x1002ae90
xor eax, eax
lea edx, [esp + 0xb8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], edx
jmp 0x1002b230
mov cl, byte [esp + eax + 0x304]
mov byte [esp + eax + 0x24b4], cl
mov dword [esp + 0xb8], 1
call fcn.1005bc40
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 0x1002b286
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x1002b5cc
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.1628
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.1005bc40
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 0x1002b44f
mov edi, dword [edi + 4]
jmp 0x1002b452
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 0x1002b46c
mov eax, dword [eax + 4]
jmp 0x1002b46f
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 0x1002b4a2
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41da
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 0x1002b4e1
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002b50f
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002b53d
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002b565
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002b58a
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x1002b5c0
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jne 0x1002b2d0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002b5e5
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 8
jb 0x1002b230
cmp dword [esp + 0x2ac], 2
jne 0x1002b664
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 0x1002b6d0
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 0x1002b6e1
cmp eax, 0x22
jne 0x1002b6fa
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 0x1002b7f2
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.10023400
mov eax, dword [0x1015d9ec]
add esp, 4
cmp eax, ebx
je 0x1002b876
push 0x10130248
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x1002b876
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x2344]
push edx
push ecx
call eax
jmp 0x1002b87b
mov eax, 0xc001000c
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002c9a9
mov edx, dword [esp + 0x44]
cmp dword [edx + 0xa4], 2
jne 0x1002c608
cmp dword [esp + 0x3464], ebx
je 0x1002c608
cmp dword [esp + 0x48], 5
jne 0x1002bb3d
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], eax
call fcn.1005bc40
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 0x1002bb1f
jmp 0x1002b900
push 0x1012b9e4
push str.1690
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.1005bc40
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 0x1002b9fb
mov edi, dword [edi + 4]
jmp 0x1002b9fe
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 0x1002ba31
mov eax, dword [esp + 0x22cc]
push eax
call fcn.100d41da
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 0x1002ba64
mov ecx, dword [esp + 0x2304]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002ba92
mov edx, dword [esp + 0x22e8]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002bac0
mov eax, dword [esp + 0x2320]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002bae8
mov ecx, dword [esp + 0x58]
push ecx
call fcn.100d41da
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 0x1002bb15
mov edx, dword [esp + 0x98]
push edx
call fcn.100d41da
add esp, 4
cmp dword [esp + 0x44], ebx
jne 0x1002b900
lea ecx, [esp + 0x44]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov dword [esp + 0x28], 0xc0040009
jmp 0x1002c9a9
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.100d43e0
add esp, 8
test eax, eax
jne 0x1002c06a
lea edx, [esp + 0x231c]
push edx
push edi
call sym.Flashtoollib.dll_DL_GetPlatformInfo
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002bdc8
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], eax
call fcn.1005bc40
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 0x1002bdb2
mov edi, edi
push 0x1012b9e4
push str.1705
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.1003da20
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x78
call fcn.1005bc40
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 0x1002bc00
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
jmp 0x1002c9a9
mov eax, dword [esp + 0x2340]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
cmp eax, esi
je 0x1002c06a
push 0x1ff
lea ecx, [esp + 0x2e51]
push ebx
push ecx
mov byte [esp + 0x2e58], bl
call fcn.100d9c70
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.100d336d
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.1005bc40
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 0x1002c04c
jmp 0x1002be90
push 0x1012b9e4
push str.1717
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.1003df70
push eax
lea eax, [esp + 0x4c]
call fcn.1003df70
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x82
call fcn.1005bc40
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 0x1002be90
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov dword [esp + 0x28], 0xc0030006
jmp 0x1002c9a9
lea eax, [esp + 0x2e34]
push str.V1.1.8
push eax
call fcn.100d43e0
add esp, 8
test eax, eax
je 0x1002c608
lea ecx, [esp + 0x2e4c]
push ecx
push edi
call sym.Flashtoollib.dll_DL_GetScatterInfo
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002c2b8
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005bc40
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 0x1002c2a2
mov edi, edi
push 0x1012b9e4
push str.1730
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.1003da20
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f20
mov ebp, eax
mov byte [esp + 0x3458], 0x8c
call fcn.1005bc40
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 0x1002c0f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
jmp 0x1002c9a9
cmp byte [esp + 0x3010], bl
je 0x1002c608
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.1003d5d0
add esp, 8
test al, al
jne 0x1002c5eb
lea eax, [esp + 0x22ac]
push 0x1012da78
push eax
call fcn.1003d5d0
add esp, 8
test al, al
jne 0x1002c5eb
lea ecx, [esp + 0x22ac]
push str.6177m
push ecx
call fcn.1003d5d0
add esp, 8
test al, al
je 0x1002c340
mov esi, dword [esp + 0x45c]
cmp esi, 1
jne 0x1002c36d
lea edx, [esp + 0x22ac]
push str.6177
push edx
call fcn.1003d5d0
add esp, 8
test al, al
je 0x1002c5fc
mov esi, dword [esp + 0x45c]
cmp esi, 2
je 0x1002c5fc
push 0x1ff
lea eax, [esp + 0x3251]
push ebx
push eax
mov byte [esp + 0x3258], bl
call fcn.100d9c70
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.100d336d
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.1005bc40
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 0x1002c5d2
nop
push 0x1012b9e4
push str.1746
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.1003db70
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.1005bc40
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 0x1002c410
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 0x1002c9a9
lea ecx, [esp + 0x22ac]
call fcn.100063b0
lea ecx, [esp + 0x25a0]
push ecx
mov dword [esp + 0x345c], 0xffffffff
call fcn.10054f30
xor eax, eax
jmp 0x1002c9d4
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005bc40
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 0x1002c674
push eax
call fcn.10073330
add esp, 4
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1002c98c
lea edx, [esp + 0x2c14]
mov dword [esp + 0x2e34], edx
mov dword [esp + 0x2e38], 0x1003fc80
mov dword [esp + 0x2e3c], 0x1003fc90
jmp 0x1002c6b0
push 0x1012b9e4
push str.1411
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.1005bc40
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 0x1002c80f
mov edi, dword [edi + 4]
jmp 0x1002c812
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 0x1002c82c
mov eax, dword [eax + 4]
jmp 0x1002c82f
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 0x1002c862
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d41da
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 0x1002c8a1
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002c8cf
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d41da
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002c8fd
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002c925
mov edx, dword [esp + 0x58]
push edx
call fcn.100d41da
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002c94a
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d41da
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 0x1002c980
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d41da
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
jne 0x1002c6b0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002c9a1
push eax
call fcn.10073330
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.10054f30
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.100d3301
add esp, 0x3448
ret 8