Function at 0x1001da20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101961d8
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x105c
call fcn.10174d60
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0x1058], eax
push ebx
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x1070]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
mov edi, ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2b4
lea esi, [esp + 0x30]
mov dword [esp + 0x50], ebx
call fcn.10111280
mov dword [esp + 0x1078], 0
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_enter_...
push edx
push eax
call fcn.10111350
add esp, 0xc
push 0x2710
push 0
push 1
mov dword [esp + 0x1084], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x70]
push 0xd9
push ebx
mov ecx, edi
call edx
test eax, eax
je 0x1001dae7
mov eax, 1
jmp 0x1001e30c
push 0xc8
call sub.KERNEL32.dll_Sleep
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2be
lea esi, [esp + 0x30]
call fcn.10111280
mov esi, dword [ebp + 0xc]
push esi
mov dword [esp + 0x107c], 1
mov ecx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_EPP_ADDR___x
push ecx
push eax
call fcn.10111350
add esp, 0x10
push 1
mov dword [esp + 0x107c], 0xffffffff
mov edx, dword [edi]
mov eax, dword [edx + 0x78]
push esi
push ebx
mov ecx, edi
call eax
mov dword [esp + 0x18], eax
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
lea esi, [esp + 0x30]
test eax, eax
je 0x1001db9d
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x2c0
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
push ecx
push edx
mov dword [esp + 0x1080], 2
push str.BRom_MT6276::BRom_EPPCmd__:_Write32DataWithEcho__lu_:_send_EPP_Addr_fail___Err__d_.
mov ecx, dword [0x103b321c]
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 2
jmp 0x1001e30c
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2c5
call fcn.10111280
mov esi, dword [ebp + 0x10]
push esi
mov dword [esp + 0x107c], 3
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_EPP_LEN___x
push edx
push eax
call fcn.10111350
add esp, 0x10
push 1
mov dword [esp + 0x107c], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x78]
push esi
push ebx
mov ecx, edi
call edx
mov dword [esp + 0x18], eax
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
lea esi, [esp + 0x30]
test eax, eax
je 0x1001dc2b
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x2c7
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x10]
push ecx
push edx
mov dword [esp + 0x1080], 4
push str.BRom_MT6276::BRom_EPPCmd__:_Write32DataWithEcho__lu_:_send_number_of_EPP_dword_fail___Err__d_.
jmp 0x1001db83
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2cc
call fcn.10111280
mov esi, dword [ebp + 0x14]
push esi
mov dword [esp + 0x107c], 5
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_EPP_PARAM_ADDR___x
push edx
push eax
call fcn.10111350
add esp, 0x10
push 1
mov dword [esp + 0x107c], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x78]
push esi
push ebx
mov ecx, edi
call edx
mov dword [esp + 0x18], eax
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
lea esi, [esp + 0x30]
test eax, eax
je 0x1001dcce
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x2ce
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x14]
push ecx
push edx
mov dword [esp + 0x1080], 6
push str.BRom_MT6276::BRom_EPPCmd__:_Write32DataWithEcho__lu_:_send_EPP_PARAM_Addr_fail___Err__d_.
mov ecx, dword [0x103b321c]
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 3
jmp 0x1001e30c
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2d3
call fcn.10111280
mov esi, dword [ebp + 0x18]
push esi
mov dword [esp + 0x107c], 7
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_EPP_PARAM_LEN___x
push edx
push eax
call fcn.10111350
add esp, 0x10
push 1
mov dword [esp + 0x107c], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x78]
push esi
push ebx
mov ecx, edi
call edx
mov dword [esp + 0x18], eax
test eax, eax
je 0x1001dd71
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x2d5
lea esi, [esp + 0x30]
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x18]
push ecx
push edx
mov dword [esp + 0x1080], 8
mov ecx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_Write32DataWithEcho__lu_:_send_number_of_PARAM_dword_fail___Err__d_.
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 4
jmp 0x1001e30c
mov edx, dword [edi]
mov edx, dword [edx + 0x68]
push 0x7530
lea eax, [esp + 0x18]
push eax
push ebx
mov ecx, edi
call edx
mov dword [esp + 0x18], eax
test eax, eax
je 0x1001dddd
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x2db
lea esi, [esp + 0x30]
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1078], 9
movzx edx, word [esp + 0x14]
push ecx
mov ecx, dword [0x103b321c]
push edx
push str.BRom_MT6276::BRom_EPPCmd__:_Read16Data__lu_:_get_status_fail___Err__d_.
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 5
jmp 0x1001e30c
mov edx, 0x1000
cmp dx, word [esp + 0x14]
ja 0x1001de34
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x2e0
lea esi, [esp + 0x30]
call fcn.10111280
mov dword [esp + 0x1078], 0xa
movzx ecx, word [esp + 0x14]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_MT6276::BRom_EPPCmd__:_Read16Data__:_Status_returns_error__0x_04X__
push edx
push eax
call fcn.10111350
movzx eax, word [esp + 0x24]
add esp, 0x10
jmp 0x1001e30c
mov dword [esp + 0x40], 0x400
call fcn.100f7e20
test al, al
je 0x1001de4d
mov dword [esp + 0x40], 4
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2eb
lea esi, [esp + 0x30]
call fcn.10111280
mov ecx, dword [esp + 0x40]
push ecx
mov dword [esp + 0x107c], 0xb
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_packet_len__lu_.
push edx
push eax
call fcn.10111350
add esp, 0x10
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2ec
lea esi, [esp + 0x30]
mov dword [esp + 0x107c], 0xffffffff
call fcn.10111280
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x44]
push ecx
push edx
mov dword [esp + 0x1080], 0xc
mov ecx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_EPP_0x_08X___EPP_Len__lu_.
push ecx
push eax
call fcn.10111350
xor eax, eax
add esp, 0x14
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2f3
lea esi, [esp + 0x30]
mov dword [esp + 0x107c], 0xffffffff
call fcn.10111280
mov dword [esp + 0x1078], 0xd
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_sending_EPP_...
push edx
push eax
call fcn.10111350
add esp, 0xc
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x1078], 0xffffffff
jbe 0x1001dffd
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
sub eax, ecx
cmp edx, eax
jbe 0x1001df57
mov edx, eax
mov dword [esp + 0x28], edx
jmp 0x1001df5b
mov dword [esp + 0x28], edx
mov esi, edx
xor eax, eax
shr esi, 1
je 0x1001dfa7
mov edx, dword [esp + 0x44]
add ecx, edx
lea esp, [esp]
mov bl, byte [ecx + 1]
mov dl, byte [ecx]
mov byte [esp + eax*2 + 0x65], bl
mov byte [esp + eax*2 + 0x64], dl
movzx bx, bl
movzx dx, dl
shl bx, 8
or bx, dx
movzx edx, bx
xor dword [esp + 0x1c], edx
inc eax
add ecx, 2
cmp eax, esi
jb 0x1001df70
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test dl, 1
je 0x1001dfca
mov esi, dword [esp + 0x44]
lea esi, [esi + eax*2]
mov cl, byte [esi + ecx]
mov byte [esp + eax*2 + 0x64], cl
mov byte [esp + eax*2 + 0x65], 0
movzx ax, cl
movzx eax, ax
xor dword [esp + 0x1c], eax
mov eax, dword [edi]
push 0
push edx
mov edx, dword [eax + 0x58]
lea ecx, [esp + 0x6c]
push ecx
push ebx
mov ecx, edi
call edx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1001e06f
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
cmp eax, dword [ebp + 0x10]
jb 0x1001df3e
mov edx, dword [edi]
mov edx, dword [edx + 0x68]
push 0x7530
lea eax, [esp + 0x24]
push eax
push ebx
mov ecx, edi
mov dword [esp + 0x2c], 0
call edx
mov dword [esp + 0x18], eax
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
lea esi, [esp + 0x30]
test eax, eax
je 0x1001e0be
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x32b
call fcn.10111280
mov ecx, dword [esp + 0x18]
push ecx
mov dword [esp + 0x107c], 0xf
mov edx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_Read16Data___get_chksum_fail___Err__d_.
push edx
push eax
call fcn.10111350
add esp, 0x10
mov eax, 7
jmp 0x1001e30c
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x320
lea esi, [esp + 0x30]
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
push ecx
push edx
mov dword [esp + 0x1080], 0xe
mov ecx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_WriteData___fail___offset__lu___Err__d_.
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 6
jmp 0x1001e30c
mov edx, 0x10201619
xor cl, cl
mov eax, 0x32f
call fcn.10111280
mov dword [esp + 0x1078], 0x10
movzx ecx, word [esp + 0x20]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_MT6276::BRom_EPPCmd__:_checksum__u_.
push edx
push eax
call fcn.10111350
add esp, 0x10
push 0x7530
mov dword [esp + 0x107c], 0xffffffff
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0x18]
push ecx
push ebx
mov ecx, edi
call edx
mov dword [esp + 0x18], eax
test eax, eax
je 0x1001e16c
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x333
lea esi, [esp + 0x30]
call fcn.10111280
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1078], 0x11
movzx edx, word [esp + 0x14]
push ecx
mov ecx, dword [0x103b321c]
push edx
push str.BRom_MT6276::BRom_EPPCmd__:_Read16Data__lu_:_get_status_fail___Err__d_.
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 8
jmp 0x1001e30c
mov edx, 0x1000
cmp dx, word [esp + 0x14]
ja 0x1001e1a3
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x338
lea esi, [esp + 0x30]
call fcn.10111280
mov dword [esp + 0x1078], 0x12
jmp 0x1001de0f
mov ecx, dword [esp + 0x48]
mov eax, dword [edi]
mov edx, dword [eax + 0x6c]
push 0x7530
push ecx
push ebx
mov ecx, edi
call edx
mov edi, eax
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
lea esi, [esp + 0x30]
test edi, edi
je 0x1001e1f5
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x33e
call fcn.10111280
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1078], 0x13
mov edx, dword [ecx]
push edi
push edx
push str.BRom_MT6276::BRom_EPPCmd__:_Read16Data__lu_:_get_status_fail___Err__d_.
jmp 0x1001dcb4
mov edx, 0x10201619
xor cl, cl
mov eax, 0x341
call fcn.10111280
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1078], 0x14
mov ecx, dword [edx]
mov edx, dword [0x103b321c]
push ecx
push str.BRom_MT6276::BRom_EPPCmd__:_EPP_STATUS__0x_08X.
push edx
push eax
call fcn.10111350
mov edi, dword [esp + 0x2c]
or ebx, 0xffffffff
add esp, 0x10
mov dword [esp + 0x1078], ebx
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
lea esi, [esp + 0x30]
cmp di, word [esp + 0x24]
je 0x1001e28e
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x345
call fcn.10111280
mov dword [esp + 0x1078], 0x15
movzx ecx, word [esp + 0x20]
push ecx
mov ecx, dword [0x103b321c]
movzx edx, di
push edx
push str.BRom_MT6276::BRom_EPPCmd__:_checksum_error___checksum_0x_04X____brom_checksum_0x_04X_.
push ecx
push eax
call fcn.10111350
add esp, 0x14
mov eax, 0x7e4
jmp 0x1001e30c
mov edx, 0x10201619
xor cl, cl
mov eax, 0x349
call fcn.10111280
mov dword [esp + 0x1078], 0x16
movzx edx, word [esp + 0x20]
push edx
mov edx, dword [0x103b321c]
movzx ecx, di
push ecx
push str.BRom_MT6276::BRom_EPPCmd__:_checksum_ok___checksum_0x_04X___brom_checksum_0x_04X_.
push edx
push eax
call fcn.10111350
add esp, 0x14
push str.FlashToolLib_sv5_common_generic_src_brom_mt6276.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x34c
lea esi, [esp + 0x54]
mov dword [esp + 0x107c], ebx
call fcn.10111280
mov dword [esp + 0x1078], 0x17
mov ecx, dword [0x103b321c]
push str.BRom_MT6276::BRom_EPPCmd__:_send_EPP__OK.
push ecx
push eax
call fcn.10111350
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x1070]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1058]
xor ecx, esp
call fcn.1016cb16
mov esp, ebp
pop ebp
ret 0x1c