joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100dda00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10194516
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
mov ecx, dword [ebp + 0x2c]
sub ecx, dword [ebp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
xor ebx, ebx
add ecx, edx
je 0x100ddb8e
mov dword [esp + 0x18], ebx
mov ecx, dword [ebp + 0x2c]
sub ecx, dword [ebp + 0x28]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100dda94
call fcn.1016d669
mov edi, dword [ebp + 0x28]
add edi, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
push ecx
call fcn.100ddc20
lea esi, [esp + 0x20]
lea eax, [esp + 0x3c]
mov dword [esp + 0xc4], 0
call fcn.100d78f0
mov edx, dword [esp + 0xd4]
push edx
mov byte [esp + 0xc8], 1
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
push eax
push ecx
mov ecx, dword [esp + 0x28]
mov edx, esi
push edx
call fcn.100de6f0
mov esi, 0x10
test al, al
jne 0x100ddbba
cmp dword [esp + 0x38], esi
jb 0x100ddb09
mov eax, dword [esp + 0x24]
push eax
call fcn.1016d679
add esp, 4
mov edi, 0xf
mov dword [esp + 0xc4], 0xffffffff
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
cmp dword [esp + 0x80], esi
jb 0x100ddb40
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.1016d679
add esp, 4
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
cmp dword [esp + 0x64], esi
jb 0x100ddb67
mov edx, dword [esp + 0x50]
push edx
call fcn.1016d679
add esp, 4
mov ecx, dword [ebp + 0x2c]
sub ecx, dword [ebp + 0x28]
add dword [esp + 0x18], 0x78
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x100dda72
xor al, al
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.1016cb16
add esp, 0xb4
ret 0xc
cmp dword [esp + 0x38], esi
jb 0x100ddbcd
mov ecx, dword [esp + 0x24]
push ecx
call fcn.1016d679
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
cmp dword [esp + 0x80], esi
jb 0x100ddbf6
mov edx, dword [esp + 0x6c]
push edx
call fcn.1016d679
add esp, 4
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], 0
cmp dword [esp + 0x64], esi
jb 0x100ddc19
mov eax, dword [esp + 0x50]
push eax
call fcn.1016d679
add esp, 4
mov al, 1
jmp 0x100ddb90
Function at 0x100e1bd0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101a2078
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], esi
mov byte [esp + 0x28], 0
mov dword [esp + 0x50], esi
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
xor ebx, ebx
add eax, edx
je 0x100e1d91
cmp ebx, eax
jb 0x100e1c5d
call fcn.1016d669
mov eax, dword [edi + 0xc]
add eax, esi
cmp dword [eax + 0x18], 0x10
jb 0x100e1c71
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
jmp 0x100e1c78
add eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
call fcn.100e1290
add esp, 4
test al, al
je 0x100e1ca2
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100e16f0
add esp, 4
test al, al
je 0x100e1ce5
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
add esi, 0x5d8
cmp ebx, eax
jb 0x100e1c5d
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x3c], 0x10
jb 0x100e1cde
mov edx, dword [esp + 0x28]
push edx
call fcn.1016d679
add esp, 4
mov eax, esi
jmp 0x100e1d93
mov edx, dword [esp + 0x20]
mov eax, edx
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100e1cf0
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x2c]
call fcn.10004620
mov ecx, dword [esp + 0x18]
mov eax, ecx
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100e1d10
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.100172a0
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
movzx esi, bx
add eax, edx
cmp esi, eax
jae 0x100e1d65
imul esi, esi, 0x5d8
add esi, dword [edi + 0xc]
push 0x134e
lea ecx, [esi + 0x3f8]
call fcn.100da1a0
xor eax, eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
cmp dword [esp + 0x3c], 0x10
mov eax, dword [esp + 0x28]
jae 0x100e1d74
lea eax, [esp + 0x28]
push eax
push ebx
push edi
call fcn.100e60c0
mov esi, eax
test esi, esi
je 0x100e1cca
push ebx
call fcn.100e6da0
jmp 0x100e1cca
mov eax, ebx
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1016cb16
mov esp, ebp
pop ebp
ret 0xc
Function at 0x100e4f40
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10197598
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
movzx ebp, si
add eax, edx
cmp ebp, eax
jae 0x100e50a4
mov edi, ebp
imul edi, edi, 0x5d8
add edi, dword [ebx + 0xc]
cmp dword [edi + 0x64], 7
jne 0x100e4fb0
push esi
mov ecx, ebx
call fcn.100e50c0
test eax, eax
jne 0x100e50a9
cmp dword [edi + 0x530], 0
mov al, 1
jbe 0x100e4fc1
mov byte [ebx + 0x3a0], al
mov ecx, dword [edi + 0x418]
add ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x41c]
adc edx, dword [edi + 0x44]
mov byte [edi + 0x61], al
lea eax, [esp + 0x1b]
push eax
add ecx, 0xffffffff
push esi
adc edx, 0xffffffff
push ebx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], edx
mov byte [esp + 0x27], 0
call fcn.100e66a0
test eax, eax
jne 0x100e50a9
cmp byte [esp + 0x1b], al
je 0x100e5088
push 0xffff
call fcn.100e7720
push str.FlashToolLib_source_common_handle_src_flashtool_handle_internal.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x10f7
lea esi, [esp + 0x20]
call fcn.10111280
mov edx, 0x10
mov dword [esp + 0x38], 0
cmp dword [edi + 0x410], edx
jb 0x100e5046
mov ecx, dword [edi + 0x3fc]
jmp 0x100e504c
lea ecx, [edi + 0x3fc]
cmp dword [edi + 0x18], edx
jb 0x100e5056
mov edi, dword [edi + 4]
jmp 0x100e5059
add edi, 4
push ecx
mov ecx, dword [0x103b321c]
push edi
push ebp
push ebx
push str.DL_HANDLE_0x_08X_::UpdateRomFileInfo__:___u_:__s__has_been_reloaded_from___s_____
push ecx
push eax
call fcn.10111350
add esp, 0x1c
xor eax, eax
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push esi
call fcn.100e7720
xor eax, eax
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, 0x138c
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
Function at 0x100ea720
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10194208
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
movzx esi, di
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], esi
cmp eax, esi
jbe 0x100ea86b
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
push ebx
lea esi, [esp + 0x1c]
mov eax, edi
call fcn.100eab00
test eax, eax
jne 0x100ea870
call fcn.1003bdb0
cmp byte [eax + 0x48], 0
mov dword [esp + 0xc], str.TRUE
jne 0x100ea7ac
mov dword [esp + 0xc], str.FALSE
push str.FlashToolLib_source_common_handle_src_flashtool_handle_internal.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x17ad
lea esi, [esp + 0x24]
call fcn.10111280
mov dword [esp + 0x14], eax
lea esi, [esp + 0x18]
mov dword [esp + 0x40], 0
call fcn.1003bdb0
add eax, 4
cmp dword [eax + 0x18], 0x10
jb 0x100ea7e9
mov edi, dword [eax + 4]
jmp 0x100ea7ec
lea edi, [eax + 4]
mov ecx, dword [esp + 0xc]
push ecx
lea esi, [esp + 0x1c]
call fcn.1003bdb0
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
push edx
push eax
call fcn.1003bdb0
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [0x103b321c]
push edx
mov edx, dword [esp + 0x28]
push edi
push eax
push ebx
push str.RB_HANDLE_0x_08X_::Delete__:_Delete_______u_:___s___m_start_addr_0x_016I64X___m_length_0x_08X___m_enable__s_.
push ecx
push edx
call fcn.10111350
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
add esp, 0x2c
push eax
push ecx
lea edi, [esp + 0x20]
mov esi, ebx
call fcn.100ef550
push 0xffff
push ebx
call fcn.100eab90
xor eax, eax
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0x138c
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100f4f00
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x10199f4a
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x30]
mov esi, ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
lea edi, [esi + esi + 2]
cmp edi, ebp
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], esi
jge 0x100f4f8e
mov ecx, edi
imul ecx, ecx, 0x5d8
lea eax, [ecx + ebx]
lea edx, [eax - 0x5d8]
push edx
push eax
call dword [esp + 0x1c]
add esp, 8
test al, al
je 0x100f4f67
dec edi
mov eax, edi
imul esi, esi, 0x5d8
imul eax, eax, 0x5d8
add eax, ebx
add esi, ebx
cmp esi, eax
je 0x100f4f84
push eax
push esi
call fcn.1004a1d0
mov esi, edi
lea edi, [edi + edi + 2]
cmp edi, ebp
jl 0x100f4f48
jne 0x100f4fb5
mov eax, ebp
imul esi, esi, 0x5d8
imul eax, eax, 0x5d8
lea eax, [eax + ebx - 0x5d8]
add esi, ebx
cmp esi, eax
je 0x100f4fb2
push eax
push esi
call fcn.1004a1d0
lea esi, [ebp - 1]
sub esp, 0x5d8
mov ecx, esp
mov dword [esp + 0x5f4], esp
lea edx, [esp + 0x610]
push edx
push ecx
call fcn.10049f90
mov eax, dword [esp + 0x5ec]
mov ecx, dword [esp + 0x5f0]
push eax
push ecx
push ebx
mov ecx, esi
call fcn.100f51d0
add esp, 0x5e4
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x2c], 0xffffffff
call fcn.1004a030
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
add esp, 0x1c
ret
Function at 0x100f5820
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1019cf48
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
sub eax, 0
je 0x100f586e
sub eax, 1
jne 0x100f5891
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
jmp 0x100f5895
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebx + 0x14]
push edx
push eax
push 0
push edi
call fcn.101769e0
imul edi, dword [ebp + 0x14]
mov esi, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], edi
jmp 0x100f5895
mov esi, dword [esp + 0x24]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [ebp + 8]
push ecx
mov ecx, dword [ebp + 0x14]
push ebx
call fcn.100f59c0
mov edx, dword [esp + 0x18]
push edx
call fcn.1016bba0
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov ecx, dword [ebp + 0x24]
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x28]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x30]
push edi
push eax
push ecx
mov ecx, dword [esp + 0x30]
push edx
push ebx
call fcn.100f5ac0
sub esi, dword [esp + 0x24]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
cmp eax, esi
jbe 0x100f599a
sub eax, esi
cmp dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
jb 0x100f5920
lea eax, [esp + 0x1c]
mov ecx, dword [ebp + 0x2c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x1c]
sub ecx, 0
je 0x100f597e
sub ecx, 1
je 0x100f5941
push edi
call fcn.1016dfc5
mov eax, 0x3e9
jmp 0x100f59a2
mov edx, dword [ebp + 0x20]
push 0x102243a0
push edx
call fcn.1016f9bf
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100f5934
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
push ebx
push ecx
push 1
add esi, edi
push esi
call fcn.1016ef6a
push ebx
call fcn.1016f172
add esp, 0x14
push edi
call fcn.1016dfc5
mov eax, dword [esp + 0x1c]
jmp 0x100f59a2
lea ecx, [esi + edi]
sub eax, ecx
add eax, esi
add eax, edi
test eax, eax
jle 0x100f599a
mov edx, dword [ebp + 0x20]
push eax
push ecx
push eax
push edx
call fcn.1016cbaa
add esp, 0x10
push edi
call fcn.1016dfc5
mov eax, ebx
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
Function at 0x100f66b0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x101a2048
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esp + 0x18]
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x100f67dc
mov ecx, dword [esp + 0x34]
push 1
push 0
push 0
push ecx
call fcn.101769e0
mov ebx, edx
mov edx, dword [esp + 0x38]
mov edi, eax
xor eax, eax
add edi, edx
push 0x1022acf8
push esi
adc ebx, eax
call fcn.1016f9bf
mov esi, eax
add esp, 8
test esi, esi
je 0x100f6813
push edi
call fcn.1016bba0
mov ebp, eax
add esp, 4
mov dword [esp + 0x14], ebp
push esi
push edi
push 1
push ebp
mov dword [esp + 0x68], 1
call fcn.10170626
push esi
call fcn.1016f172
add esp, 0x14
push str.FlashToolLib_sv5_modules_nand_src_flash_writer.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x17c
lea esi, [esp + 0x40]
call fcn.10111280
push ebx
push edi
mov byte [esp + 0x60], 2
mov edx, dword [0x103b321c]
push str.NORFlashWriter::WriteWithInputFromFile__:_fileSize_u
push edx
push eax
call fcn.10111350
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
add esp, 0x14
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x6c]
push ebx
push edi
push ebp
push edx
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
mov byte [esp + 0x7c], 1
call fcn.100f6190
push ebp
mov esi, eax
call fcn.1016dfc5
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 0x18
push str.FlashToolLib_sv5_modules_nand_src_flash_writer.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x169
lea esi, [esp + 0x1c]
call fcn.10111280
mov dword [esp + 0x58], 0
mov ecx, dword [0x103b321c]
push str.NORFlashWriter::WriteWithInputFromFile__:_ObtainFileSize_fail
push ecx
push eax
call fcn.10111350
add esp, 0xc
mov eax, 0x3ea
jmp 0x100f67c6

Function at 0x100f6820
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10193d80
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], 0
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
push str.FlashToolLib_sv5_modules_nand_src_flash_writer.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x198
lea esi, [esp + 0x10]
mov dword [edi], vtable.NANDFlashWriter.0
call fcn.10111280
mov byte [esp + 0x28], 1
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
push edx
mov edx, dword [0x103b321c]
push ecx
push str.NANDFlashWriter::NANDFlashWriter__:_m_NumPagesPerBlock_u__m_PageSize_u
push edx
push eax
call fcn.10111350
add esp, 0x14
mov eax, edi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x20
ret 0x10
Function at 0x100f6ea0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x1019e7d8
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esp + 0x1c]
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x100f6f4a
mov ecx, dword [esp + 0x38]
push 1
push 0
push 0
push ecx
call fcn.101769e0
mov ebx, edx
mov edx, dword [esp + 0x3c]
mov ebp, eax
xor eax, eax
add ebp, edx
push esi
push str.filename__s_.
lea edi, [esp + 0x24]
adc ebx, eax
mov dword [esp + 0x24], str.FlashToolLib_sv5_modules_nand_src_flash_writer.cpp
mov dword [esp + 0x28], 0x2b8
mov byte [esp + 0x2c], al
mov dword [esp + 0x30], str._DEBUG:
mov dword [esp + 0x34], str.NANDFlashWriter::WriteWithInputFromFile
call fcn.10017c90
push 0x1022acf8
push esi
call fcn.1016f9bf
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x100f6f84
mov eax, 0x3ea
jmp 0x100f6fec
push str.ObtainFileSize_fail
lea edi, [esp + 0x20]
mov dword [esp + 0x20], str.FlashToolLib_sv5_modules_nand_src_flash_writer.cpp
mov dword [esp + 0x24], 0x2b5
mov byte [esp + 0x28], 0
mov dword [esp + 0x2c], str._DEBUG:
mov dword [esp + 0x30], str.NANDFlashWriter::WriteWithInputFromFile
call fcn.10017c90
mov eax, 0x3ea
jmp 0x100f6fe9
push ebp
call fcn.1016bba0
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
push edi
push ebp
push 1
push esi
mov dword [esp + 0x58], 0
call fcn.10170626
push edi
call fcn.1016f172
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
add esp, 0x14
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ebx
push ebp
push esi
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x70]
push eax
call fcn.100f6bb0
push esi
mov edi, eax
call fcn.1016dfc5
mov eax, edi
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x20

Function at 0x100f7010
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x10193d80
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
push str.FlashToolLib_sv5_modules_nand_src_flash_writer.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x2e2
lea esi, [esp + 0x10]
mov dword [edi], vtable.SDMMCFlashWriter.0
call fcn.10111280
mov byte [esp + 0x28], 1
mov ecx, dword [0x103b321c]
push str.SDMMCFlashWriter::SDMMCFlashWriter__
push ecx
push eax
call fcn.10111350
add esp, 0xc
mov eax, edi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x20
ret 8
Function at 0x100f7ba0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10198769
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push edi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0xc], ebx
push 0xc
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
push str.000000000000
mov ecx, esi
mov dword [esp + 0x2c], esi
mov byte [esi + 4], bl
call fcn.10004620
mov dword [esp + 0x30], ebx
push str.Temp_solution__000000000000_is_used_
lea edi, [esp + 0x14]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], str.FlashToolLib_host_windows_host_common_impl.cpp
mov dword [esp + 0x18], 0x38
mov byte [esp + 0x1c], 0xff
mov dword [esp + 0x20], str._ERROR:
mov dword [esp + 0x24], str.GetMACAddr
call fcn.10017c90
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
add esp, 0x28
ret

Function at 0x100f7e80
Capabilities:
Get file attributes

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov dword [esp + 8], 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x100f7ecd
lea eax, [esp + 4]
push eax
push edi
push 0x30c
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
test eax, eax
jbe 0x100f7ecd
mov eax, dword [esp + 4]
test eax, eax
je 0x100f7ec4
cmp edi, eax
jae 0x100f7ec4
mov byte [eax - 1], 0
mov eax, dword [esp + 4]
test ebp, ebp
je 0x100f7f0a
mov dword [ebp], eax
jmp 0x100f7f0a
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100f7ed2
sub eax, edx
cmp eax, 0x30c
jb 0x100f7efa
push 0x30b
push esi
push edi
call fcn.1016d8b0
add esp, 0xc
mov byte [edi + 0x30b], 0
jmp 0x100f7f0a
mov edx, edi
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100f7f00
mov eax, edi
lea edx, [eax + 1]
pop ebp
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100f7f10
sub eax, edx
add eax, 0xffffffff
js 0x100f7f37
mov edi, edi
mov cl, byte [eax + edi]
cmp cl, 0x5c
je 0x100f7f2d
cmp cl, 0x2f
jne 0x100f7f37
sub eax, 1
mov byte [eax + edi + 1], 0
jns 0x100f7f20
mov eax, 1
pop ecx
ret