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

Disassembly:
push 0xffffffffffffffff
push 0x1011f997
mov eax, dword fs:[0]
push eax
mov eax, 0x343c
call fcn.100dcec0
mov eax, dword [0x10158df0]
xor eax, esp
mov dword [esp + 0x3438], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10158df0]
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 0x1012c9e4
push str.1388
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.1001a820
add esp, 0x1c
mov esi, eax
mov dword [esp + 0x3480], ebx
push 3
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea edx, [esp + 0x1c4]
push edx
mov byte [esp + 0x3488], 2
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x1a4]
push eax
mov byte [esp + 0x3484], 3
call fcn.1000a390
add esp, 0xc
push eax
mov byte [esp + 0x347c], 4
mov eax, dword [esp + 0x40]
push eax
call fcn.1000a390
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.10055540
mov ebp, 0x10
cmp dword [esp + 0x194], ebp
jb 0x10029a6e
mov ecx, dword [esp + 0x180]
push ecx
call fcn.100d4a7a
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 0x10029aa3
mov edx, dword [esp + 0x19c]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
cmp dword [esp + 0x1cc], ebp
jb 0x10029ad1
mov eax, dword [esp + 0x1b8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
cmp dword [esp + 0x158], ebp
jb 0x10029aff
mov ecx, dword [esp + 0x144]
push ecx
call fcn.100d4a7a
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 0x10029b35
mov edx, dword [esp + 0x1d4]
push edx
call fcn.100d4a7a
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.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push edx
mov esi, eax
call fcn.1000a460
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 0x10029b9a
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x10029eb5
lea edx, [esp + 0x3464]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x10040250
mov dword [esp + 0x84], 0x10040260
lea ebx, [ebx]
push 0x1012c9e4
push str.1389
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.1001a820
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0xd
push 3
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea edx, [esp + 0x2310]
push edx
mov byte [esp + 0x346c], 0xf
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x10
call fcn.1000a390
add esp, 0xc
push eax
lea ecx, [esp + 0x2324]
push ecx
mov byte [esp + 0x3464], 0x11
call fcn.1000a390
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.10009e40
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x345c], 0x13
call fcn.10011e90
add esp, 4
lea edx, [esp + 0x54]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x14
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0xb4]
push edx
push eax
lea eax, [esp + 0x2e3c]
push eax
call fcn.1000a530
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 0x10029d32
mov edi, dword [edi + 4]
jmp 0x10029d35
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x10029d4f
mov eax, dword [eax + 4]
jmp 0x10029d52
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x14
call fcn.10006d40
cmp dword [esp + 0x6c], ebp
jb 0x10029d82
mov ecx, dword [esp + 0x58]
push ecx
call fcn.100d4a7a
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 0x10029db8
mov edx, dword [esp + 0x2320]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x22fc], ebp
jb 0x10029de6
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2318], ebp
jb 0x10029e14
mov ecx, dword [esp + 0x2304]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22e0], ebp
jb 0x10029e42
mov edx, dword [esp + 0x22cc]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22e0], esi
mov dword [esp + 0x22dc], ebx
mov byte [esp + 0x22cc], bl
cmp dword [esp + 0x22c4], ebp
jb 0x10029e70
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x10029ea6
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
mov eax, dword [esp + 0xb4]
cmp eax, ebx
jne 0x10029bd0
mov esi, dword [esp + 0x44]
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x10029ed5
push eax
call fcn.10073c20
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.100da500
mov eax, dword [esi + 0x9c]
mov edi, dword [esi + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [0x1015e9ec]
add esp, 0xc
mov dword [esp + 0x40], edi
cmp eax, ebx
je 0x10029f29
push 0x10130ed4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10029f29
lea ecx, [esp + 0x29f4]
push ecx
push edi
call eax
jmp 0x10029f2e
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], 0x10023920
mov dword [esp + 0x164], 0x10023950
mov dword [esp + 0x168], 0x100239a0
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 0x1002cf79
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], edx
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002a057
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0xb0]
cmp eax, ebx
je 0x1002a375
lea edx, [esp + 0x2c14]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x10040280
mov dword [esp + 0x84], 0x10040290
jmp 0x1002a090
push 0x1012c9e4
push str.1418
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.1001a820
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x17
push 3
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea edx, [esp + 0x232c]
push edx
mov byte [esp + 0x346c], 0x19
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x1a
call fcn.1000a390
add esp, 0xc
push eax
lea ecx, [esp + 0x2308]
push ecx
mov byte [esp + 0x3464], 0x1b
call fcn.1000a390
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.10009e40
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x345c], 0x1d
call fcn.10011e90
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x1e
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0xb0]
push edx
push eax
lea eax, [esp + 0x2e3c]
push eax
call fcn.1000a530
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 0x1002a1f2
mov edi, dword [edi + 4]
jmp 0x1002a1f5
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002a20f
mov eax, dword [eax + 4]
jmp 0x1002a212
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x1e
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002a248
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d4a7a
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 0x1002a287
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002a2b5
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002a2e3
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002a30b
mov edx, dword [esp + 0x58]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002a330
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x1002a366
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
mov eax, dword [esp + 0xb0]
cmp eax, ebx
jne 0x1002a090
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002a391
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x2c14]
cmp eax, ebx
jne 0x1002a3f7
mov dword [esp + 0x25c4], ebx
xor eax, eax
jmp 0x1002a3b0
mov cl, byte [esp + eax + 0x29f4]
mov byte [esp + eax + 0x25c8], cl
inc eax
cmp cl, bl
jne 0x1002a3b0
lea edi, [esp + 0x25c8]
call fcn.10056430
test al, al
je 0x1002a423
mov edi, dword [esp + 0x40]
mov dword [esp + 0x25c4], 2
call fcn.1001c6b0
mov dword [esp + 0x27c8], eax
mov dword [esp + 0x27cc], edx
jmp 0x1002a423
cmp eax, 1
jne 0x1002cbf7
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 [0x1015e9ec]
cmp eax, ebx
je 0x1002a44a
push 0x1013125c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x1002a44a
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x23]
push ecx
push esi
call eax
jmp 0x1002a453
mov esi, dword [esp + 0x14]
mov eax, 0xc001000c
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002cf79
cmp dword [esp + 0x3464], ebx
je 0x1002a9d6
push 0x1ff
lea edx, [esp + 0x2e51]
push ebx
push edx
mov byte [esp + 0x2e58], bl
call fcn.100da500
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 0x1002cf79
lea ecx, [esp + 0x22ac]
push ecx
lea ecx, [esp + 0x2e50]
call fcn.1003e200
lea ecx, [esp + 0x22ac]
mov byte [esp + 0x3458], 0x2a
call fcn.100c20d0
lea edx, [esp + 0x94]
push edx
call fcn.1003e2b0
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.1001a6e0
add esp, 0xc
lea ecx, [esp + 0x94]
mov byte [esp + 0x3458], 0x2d
call fcn.100031c0
lea eax, [esp + 0x22e4]
push eax
call fcn.1001a7c0
add esp, 4
test al, al
je 0x1002a721
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x24], ecx
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x30]
push ecx
mov esi, eax
call fcn.1000a460
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 0x1002a707
jmp 0x1002a580
push 0x1012c9e4
push str.1467
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0x64]
push ecx
mov byte [esp + 0x346c], 0x31
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x2328]
push edx
mov byte [esp + 0x3468], 0x32
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x22d0]
push eax
mov byte [esp + 0x3464], 0x33
call fcn.1000a390
add esp, 0xc
mov edi, eax
mov byte [esp + 0x3458], 0x34
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x40]
push ecx
push eax
lea edx, [esp + 0x2e3c]
push edx
call fcn.1000a530
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.1000a640
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x34
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002a6a3
mov eax, dword [esp + 0x22cc]
push eax
call fcn.100d4a7a
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 0x1002a580
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 0x1002a754
lea ecx, [esp + 0x22e4]
call fcn.100031c0
lea ecx, [esp + 0x22ac]
call fcn.100031c0
jmp 0x1002cf79
lea edx, [esp + 0x304c]
push str.preloader
push edx
call fcn.100d4c80
add esp, 8
test eax, eax
jne 0x1002a835
lea eax, [esp + 0x231c]
push eax
call fcn.1003e360
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.1001a6e0
add esp, 0xc
lea ecx, [esp + 0x231c]
mov byte [esp + 0x3458], 0x38
call fcn.100031c0
lea ecx, [esp + 0x22c8]
push ecx
call fcn.1001a7c0
add esp, 4
test al, al
je 0x1002a821
push 0x200
lea edx, [esp + 0x3050]
push ebx
push edx
call fcn.100da500
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.100d4d10
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 0x1002a840
lea edi, [esp + 0x304c]
call fcn.10056430
test al, al
je 0x1002a883
mov edi, esi
mov dword [esp + 0x2c1c], 2
call fcn.1001c600
mov dword [esp + 0x2e20], eax
mov dword [esp + 0x2e24], edx
lea edx, [esp + 0x231c]
push edx
call fcn.1003e4c0
lea eax, [esp + 0x22c8]
push eax
mov byte [esp + 0x345c], 0x39
call fcn.1003e410
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.1001a6e0
add esp, 0xc
lea ecx, [esp + 0x231c]
push ecx
push eax
lea edx, [esp + 0x2308]
push edx
mov byte [esp + 0x3464], 0x3b
call fcn.1001a6e0
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.1001a7c0
add esp, 4
test al, al
je 0x1002a9a4
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.100d4d10
add esp, 0xc
lea ecx, [esp + 0x100]
call fcn.100063b0
lea edi, [esp + 0x27e0]
call fcn.10056430
test al, al
je 0x1002a9a8
mov edi, esi
mov dword [esp + 0x27dc], 2
call fcn.1001c600
mov dword [esp + 0x29e0], eax
mov dword [esp + 0x29e4], edx
jmp 0x1002a9a8
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 0x1002a9de
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.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002aa94
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x1002adff
lea edx, [esp + 0xbc]
mov dword [esp + 0x7c], edx
lea edx, [esp + 0xc0]
mov eax, 0x10014ae0
mov ecx, 0x10014af0
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 0x1002ab00
push 0x1012c9e4
push str.1531
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.1001a820
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x41
push 3
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea edx, [esp + 0x232c]
push edx
mov byte [esp + 0x346c], 0x43
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x44
call fcn.1000a390
add esp, 0xc
push eax
lea ecx, [esp + 0x2308]
push ecx
mov byte [esp + 0x3464], 0x45
call fcn.1000a390
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.10009e40
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x345c], 0x47
call fcn.10011e90
lea edx, [esp + 0xdc]
add esp, 4
push edx
call fcn.10011e90
lea ecx, [esp + 0x8c]
add esp, 4
push ecx
call fcn.10011e90
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x48
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x40]
push edx
push eax
lea eax, [esp + 0x2e3c]
push eax
call fcn.1000a530
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 0x1002ac7f
mov edi, dword [edi + 4]
jmp 0x1002ac82
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002ac9c
mov eax, dword [eax + 4]
jmp 0x1002ac9f
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x2e34]
mov byte [esp + 0x3458], 0x48
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002acd5
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d4a7a
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 0x1002ad14
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002ad42
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002ad70
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002ad98
mov edx, dword [esp + 0x58]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002adbd
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x1002adf3
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
mov eax, dword [esp + 0x40]
cmp eax, ebx
jne 0x1002ab00
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002ae18
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x40], ebx
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x50], edx
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002ae65
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x1002b1ce
lea edx, [esp + 0xc8]
mov dword [esp + 0x88], edx
lea edx, [esp + 0xcc]
mov dword [esp + 0xd8], edx
lea edx, [esp + 0xd0]
mov eax, 0x10014ae0
mov ecx, 0x10014af0
mov dword [esp + 0x7c], edx
lea edx, [esp + 0xd4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0xdc], 0x10040110
mov dword [esp + 0xe0], 0x10040120
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 0x1012c9e4
push str.1533
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0x232c]
push ecx
mov byte [esp + 0x346c], 0x4d
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x22f0]
push edx
mov byte [esp + 0x3468], 0x4e
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x2308]
push eax
mov byte [esp + 0x3464], 0x4f
call fcn.1000a390
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.10009e40
lea edx, [esp + 0x88]
push edx
mov byte [esp + 0x345c], 0x51
call fcn.10011e90
lea ecx, [esp + 0xdc]
add esp, 4
push ecx
call fcn.10011e90
lea edx, [esp + 0x80]
add esp, 4
push edx
call fcn.10011e90
lea ecx, [esp + 0x2e38]
add esp, 4
push ecx
call fcn.10011e90
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x52
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x2c]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
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 0x1002b051
mov edi, dword [edi + 4]
jmp 0x1002b054
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002b06e
mov eax, dword [eax + 4]
jmp 0x1002b071
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x52
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002b0a4
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d4a7a
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 0x1002b0e3
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002b111
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002b13f
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002b167
mov edx, dword [esp + 0x58]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002b18c
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x1002b1c2
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, ebx
jne 0x1002aef0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002b1e7
push eax
call fcn.10073c20
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 0x1002cf79
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 0x1002cf79
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.100d3c0d
add esp, 0xc
xor eax, eax
jmp 0x1002b280
mov cl, byte [esp + eax + 0x2e44]
mov byte [esp + eax + 0x234c], cl
inc eax
cmp cl, bl
jne 0x1002b280
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 0x1002b353
mov dword [esp + 0x23e8], ebx
cmp dword [esp + 0x2ac], 1
jne 0x1002bbc7
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.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x34]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002b7c4
mov eax, 0x10014ae0
mov ecx, 0x10014af0
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 0x1002b4f0
push 0x1012c9e4
push str.1648
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0x232c]
push ecx
mov byte [esp + 0x346c], 0x57
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x22f0]
push edx
mov byte [esp + 0x3468], 0x58
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x2308]
push eax
mov byte [esp + 0x3464], 0x59
call fcn.1000a390
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.10009e40
lea edx, [esp + 0x2e34]
push edx
mov byte [esp + 0x345c], 0x5b
call fcn.10011e90
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.10011e90
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x5c
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
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 0x1002b646
mov edi, dword [edi + 4]
jmp 0x1002b649
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002b666
mov eax, dword [eax + 4]
jmp 0x1002b669
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x5c
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002b69c
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d4a7a
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 0x1002b6db
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002b709
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002b737
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002b75f
mov edx, dword [esp + 0x58]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002b784
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x1002b7ba
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
cmp dword [esp + 0x3c], ebx
jne 0x1002b4f0
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 0x1002b460
xor eax, eax
lea edx, [esp + 0xb8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], edx
jmp 0x1002b800
mov cl, byte [esp + eax + 0x304]
mov byte [esp + eax + 0x24b4], cl
mov dword [esp + 0xb8], 1
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x20]
push ecx
mov esi, eax
call fcn.1000a460
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 0x1002b856
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x1002bb9c
lea eax, [esp + 0x30]
mov dword [esp + 0x2e34], eax
mov eax, 0x10014ae0
mov ecx, 0x10014af0
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 0x1012c9e4
push str.1654
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.1001a820
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x5f
push 3
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0x232c]
push ecx
mov byte [esp + 0x346c], 0x61
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x22f0]
push edx
mov byte [esp + 0x3468], 0x62
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x2308]
push eax
mov byte [esp + 0x3464], 0x63
call fcn.1000a390
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.10009e40
lea edx, [esp + 0x2e34]
push edx
mov byte [esp + 0x345c], 0x65
call fcn.10011e90
lea ecx, [esp + 0x8c]
add esp, 4
push ecx
call fcn.10011e90
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x66
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
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 0x1002ba1f
mov edi, dword [edi + 4]
jmp 0x1002ba22
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002ba3c
mov eax, dword [eax + 4]
jmp 0x1002ba3f
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x66
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002ba72
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d4a7a
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 0x1002bab1
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002badf
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002bb0d
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002bb35
mov edx, dword [esp + 0x58]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002bb5a
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x1002bb90
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jne 0x1002b8a0
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002bbb5
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 8
jb 0x1002b800
cmp dword [esp + 0x2ac], 2
jne 0x1002bc34
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 0x1002bca0
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 0x1002bcb1
cmp eax, 0x22
jne 0x1002bcca
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 0x1002bdc2
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.100239d0
mov eax, dword [0x1015e9ec]
add esp, 4
cmp eax, ebx
je 0x1002be46
push 0x10131304
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x1002be46
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x2344]
push edx
push ecx
call eax
jmp 0x1002be4b
mov eax, 0xc001000c
mov dword [esp + 0x28], eax
cmp eax, ebx
jne 0x1002cf79
mov edx, dword [esp + 0x44]
cmp dword [edx + 0xa4], 2
jne 0x1002cbd8
cmp dword [esp + 0x3464], ebx
je 0x1002cbd8
cmp dword [esp + 0x48], 5
jne 0x1002c10d
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], eax
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002c0ef
jmp 0x1002bed0
push 0x1012c9e4
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 + 0xbc]
call fcn.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea eax, [esp + 0x22f4]
push eax
mov byte [esp + 0x346c], 0x6b
call fcn.1000a390
add esp, 0xc
push eax
lea ecx, [esp + 0x230c]
push ecx
mov byte [esp + 0x3468], 0x6c
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x22d0]
push edx
mov byte [esp + 0x3464], 0x6d
call fcn.1000a390
add esp, 0xc
mov edi, eax
mov byte [esp + 0x3458], 0x6e
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x44]
push ecx
push eax
lea edx, [esp + 0x78]
push edx
call fcn.1000a530
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.100087d0
mov eax, dword [edi + 0x14]
cmp dword [edi + 0x18], ebp
jb 0x1002bfcb
mov edi, dword [edi + 4]
jmp 0x1002bfce
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x6e
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002c001
mov eax, dword [esp + 0x22cc]
push eax
call fcn.100d4a7a
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 0x1002c034
mov ecx, dword [esp + 0x2304]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002c062
mov edx, dword [esp + 0x22e8]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002c090
mov eax, dword [esp + 0x2320]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002c0b8
mov ecx, dword [esp + 0x58]
push ecx
call fcn.100d4a7a
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 0x1002c0e5
mov edx, dword [esp + 0x98]
push edx
call fcn.100d4a7a
add esp, 4
cmp dword [esp + 0x44], ebx
jne 0x1002bed0
lea ecx, [esp + 0x44]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov dword [esp + 0x28], 0xc0040009
jmp 0x1002cf79
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 0x1012ea08
push ecx
call fcn.100d4c80
add esp, 8
test eax, eax
jne 0x1002c63a
lea edx, [esp + 0x231c]
push edx
push edi
call sym.Flashtoollib.dll_DL_GetPlatformInfo
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002c398
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], eax
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002c382
mov edi, edi
push 0x1012c9e4
push str.1731
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x346c], 0x73
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x3468], 0x74
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x108]
push eax
mov byte [esp + 0x3464], 0x75
call fcn.1000a390
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.10009e40
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x345c], 0x77
call fcn.1003e020
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f40
mov ebp, eax
mov byte [esp + 0x3458], 0x78
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
add esp, 0xc
mov byte [esp + 0x3458], 0x79
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a640
mov esi, eax
mov eax, edi
call fcn.1000a640
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 0x1002c1d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
jmp 0x1002cf79
mov eax, dword [esp + 0x2340]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
cmp eax, esi
je 0x1002c63a
push 0x1ff
lea ecx, [esp + 0x2e51]
push ebx
push ecx
mov byte [esp + 0x2e58], bl
call fcn.100da500
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.100d3c0d
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.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
push ecx
mov esi, eax
call fcn.1000a460
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 0x1002c61c
jmp 0x1002c460
push 0x1012c9e4
push str.1743
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea eax, [esp + 0xa4]
push eax
mov byte [esp + 0x346c], 0x7d
call fcn.1000a390
add esp, 0xc
push eax
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x3468], 0x7e
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x108]
push edx
mov byte [esp + 0x3464], 0x7f
call fcn.1000a390
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.10009e40
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x345c], 0x81
call fcn.1003e570
push eax
lea eax, [esp + 0x4c]
call fcn.1003e570
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f40
mov ebp, eax
mov byte [esp + 0x3458], 0x82
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x78]
push edx
call fcn.1000a530
add esp, 0xc
mov byte [esp + 0x3458], 0x83
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a640
mov esi, eax
mov eax, edi
call fcn.1000a640
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 0x1002c460
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
mov dword [esp + 0x28], 0xc0030006
jmp 0x1002cf79
lea eax, [esp + 0x2e34]
push str.V1.1.8
push eax
call fcn.100d4c80
add esp, 8
test eax, eax
je 0x1002cbd8
lea ecx, [esp + 0x2e4c]
push ecx
push edi
call sym.Flashtoollib.dll_DL_GetScatterInfo
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1002c888
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002c872
mov edi, edi
push 0x1012c9e4
push str.1756
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x346c], 0x87
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x3468], 0x88
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x108]
push eax
mov byte [esp + 0x3464], 0x89
call fcn.1000a390
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.10009e40
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x345c], 0x8b
call fcn.1003e020
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f40
mov ebp, eax
mov byte [esp + 0x3458], 0x8c
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
add esp, 0xc
mov byte [esp + 0x3458], 0x8d
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a640
mov esi, eax
mov eax, edi
call fcn.1000a640
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 0x1002c6c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3458], 0xb
call fcn.10002f90
jmp 0x1002cf79
cmp byte [esp + 0x3010], bl
je 0x1002cbd8
lea ecx, [esp + 0x3011]
push ecx
lea ecx, [esp + 0x22b0]
call fcn.10006340
lea edx, [esp + 0x22ac]
push 0x1012c000
push edx
mov byte [esp + 0x3460], 0x8e
call fcn.1003dbd0
add esp, 8
test al, al
jne 0x1002cbbb
lea eax, [esp + 0x22ac]
push 0x1012ead8
push eax
call fcn.1003dbd0
add esp, 8
test al, al
jne 0x1002cbbb
lea ecx, [esp + 0x22ac]
push str.6177m
push ecx
call fcn.1003dbd0
add esp, 8
test al, al
je 0x1002c910
mov esi, dword [esp + 0x45c]
cmp esi, 1
jne 0x1002c93d
lea edx, [esp + 0x22ac]
push str.6177
push edx
call fcn.1003dbd0
add esp, 8
test al, al
je 0x1002cbcc
mov esi, dword [esp + 0x45c]
cmp esi, 2
je 0x1002cbcc
push 0x1ff
lea eax, [esp + 0x3251]
push ebx
push eax
mov byte [esp + 0x3258], bl
call fcn.100da500
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.100d3c0d
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.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002cba2
nop
push 0x1012c9e4
push str.1772
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.1001a820
add esp, 0x1c
mov esi, eax
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea ecx, [esp + 0xa4]
push ecx
mov byte [esp + 0x346c], 0x92
call fcn.1000a390
add esp, 0xc
push eax
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x3468], 0x93
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x108]
push eax
mov byte [esp + 0x3464], 0x94
call fcn.1000a390
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.10009e40
push eax
lea eax, [esp + 0x22b0]
mov byte [esp + 0x345c], 0x96
call fcn.1003e170
push eax
lea eax, [esp + 0x460]
call fcn.1000a170
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.10009f40
mov ebp, eax
mov byte [esp + 0x3458], 0x97
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
add esp, 0xc
mov byte [esp + 0x3458], 0x98
mov esi, dword [eax + 4]
add esi, 4
mov eax, ebp
call fcn.1000a640
mov esi, eax
mov eax, edi
call fcn.1000a640
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 0x1002c9e0
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 0x1002cf79
lea ecx, [esp + 0x22ac]
call fcn.100063b0
lea ecx, [esp + 0x25a0]
push ecx
mov dword [esp + 0x345c], 0xffffffff
call fcn.100557e0
xor eax, eax
jmp 0x1002cfa4
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 4
mov dword [esp + 0x18], edx
call fcn.1005c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
mov esi, eax
call fcn.1000a460
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 0x1002cc44
push eax
call fcn.10073c20
add esp, 4
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1002cf5c
lea edx, [esp + 0x2c14]
mov dword [esp + 0x2e34], edx
mov dword [esp + 0x2e38], 0x10040280
mov dword [esp + 0x2e3c], 0x10040290
jmp 0x1002cc80
push 0x1012c9e4
push str.1437
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.1001a820
add esp, 0x1c
mov esi, eax
mov byte [esp + 0x3464], 0x21
push 3
push 0x1012ca0c
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.1000a2e0
add esp, 0xc
push eax
lea edx, [esp + 0x232c]
push edx
mov byte [esp + 0x346c], 0x23
call fcn.1000a390
add esp, 0xc
push eax
lea eax, [esp + 0x22f0]
push eax
mov byte [esp + 0x3468], 0x24
call fcn.1000a390
add esp, 0xc
push eax
lea ecx, [esp + 0x2308]
push ecx
mov byte [esp + 0x3464], 0x25
call fcn.1000a390
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.10009e40
lea ecx, [esp + 0x2e34]
push ecx
mov byte [esp + 0x345c], 0x27
call fcn.10011e90
add esp, 4
lea edx, [esp + 0x22c8]
mov ecx, eax
call fcn.10009f40
mov edi, eax
mov byte [esp + 0x3458], 0x28
call fcn.1005c4f0
mov eax, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1000a530
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 0x1002cddf
mov edi, dword [edi + 4]
jmp 0x1002cde2
add edi, 4
push eax
push edi
mov ecx, esi
call fcn.100087d0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], ebp
jb 0x1002cdfc
mov eax, dword [eax + 4]
jmp 0x1002cdff
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.100087d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3458], 0x28
call fcn.10006d40
cmp dword [esp + 0x22e0], ebp
jb 0x1002ce32
mov ecx, dword [esp + 0x22cc]
push ecx
call fcn.100d4a7a
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 0x1002ce71
mov edx, dword [esp + 0x2304]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2318], esi
mov dword [esp + 0x2314], ebx
mov byte [esp + 0x2304], bl
cmp dword [esp + 0x22fc], ebp
jb 0x1002ce9f
mov eax, dword [esp + 0x22e8]
push eax
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x22fc], esi
mov dword [esp + 0x22f8], ebx
mov byte [esp + 0x22e8], bl
cmp dword [esp + 0x2334], ebp
jb 0x1002cecd
mov ecx, dword [esp + 0x2320]
push ecx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x2334], esi
mov dword [esp + 0x2330], ebx
mov byte [esp + 0x2320], bl
cmp dword [esp + 0x6c], ebp
jb 0x1002cef5
mov edx, dword [esp + 0x58]
push edx
call fcn.100d4a7a
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x22c4], ebp
jb 0x1002cf1a
mov eax, dword [esp + 0x22b0]
push eax
call fcn.100d4a7a
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 0x1002cf50
mov ecx, dword [esp + 0x98]
push ecx
call fcn.100d4a7a
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
jne 0x1002cc80
mov byte [esp + 0x3458], 0xb
cmp eax, ebx
je 0x1002cf71
push eax
call fcn.10073c20
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.100557e0
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.100d3ba1
add esp, 0x3448
ret 8