joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5ea1fa
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi + 0x18], 0
je 0x5ea29b
cmp dword [esi + 0x10], 0
je 0x5ea29b
mov eax, dword [esi]
call dword [eax + 0x1c]
mov ebx, eax
push ebx
mov dword [ebp - 8], ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5ea29b
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea edi, [eax + 1]
lea eax, [edi + edi]
call fcn.00609a70
mov ebx, esp
test ebx, ebx
je 0x5ea29b
push edi
push ebx
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [esi + 0x10]
mov edi, 0xe0
push ebx
add ecx, edi
call fcn.004229b4
test eax, eax
je 0x5ea29b
mov ecx, dword [esi + 0x10]
push ebx
add ecx, edi
call fcn.004195af
mov edx, dword [esi + 0x10]
xor eax, eax
push eax
push eax
push eax
lea ecx, [edx + 8]
lea eax, [edx + 8]
neg edx
push str.textchanged
sbb edx, edx
and edx, eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
mov ecx, eax
call fcn.005d31e3
xor eax, eax
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00609802
mov esp, ebp
pop ebp
ret 0x10

Function at 0x5ea336
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x5ea360
add ecx, 8
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, eax
call fcn.005d3af6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5ea3b2
push esi
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea edi, [eax + 1]
lea eax, [edi + edi]
call fcn.00609a70
mov eax, esp
test eax, eax
je 0x5ea3b2
push edi
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push esi
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00609802
mov esp, ebp
pop ebp
ret 0x10
Function at 0x5ed520
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi + 0x2c0], 0
je 0x5ed5ad
cmp dword [esi + 0x2b8], 0
je 0x5ed5ad
mov eax, dword [esi]
call dword [eax + 0x44]
mov ebx, eax
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5ed5ad
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea edi, [eax + 1]
lea eax, [edi + edi]
call fcn.00609a70
mov eax, esp
mov dword [ebp - 8], eax
test eax, eax
je 0x5ed5ad
push edi
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [esi + 0x2b8]
push dword [ebp - 8]
add ecx, 0xd8
call fcn.004195af
mov ecx, dword [esi + 0x2b8]
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ecx]
push str.textchanged
push ecx
call dword [eax + 0x18]
mov ecx, eax
call fcn.005d31e3
xor eax, eax
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00609802
mov esp, ebp
pop ebp
ret 0x10
Function at 0x5f272b
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
push edi
xor edi, edi
cmp dword [esi + 0x290], edi
je 0x5f2798
cmp dword [ebp + 8], 0x100
jne 0x5f2787
cmp word [ebp + 0xc], 0xd
jne 0x5f2787
cmp byte [esi + 0x29e], 0
je 0x5f276b
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x5f2787
cmp byte [esi + 0x29f], 0
jne 0x5f2787
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x5f2783
push edi
push edi
push edi
push str.return
lea eax, [esi + 8]
push eax
call fcn.005d31e3
xor eax, eax
jmp 0x5f279b
mov eax, dword [esi + 0x290]
pop edi
pop esi
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
pop ebp
jmp dword [eax + 0xc]
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
ret 0x10

Function at 0x5fbb7b
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x72844c]
cmp esi, 0xffffffff
jne 0x5fbbdc
push 0x110
xor esi, esi
mov dword [ebp - 0x118], 0x114
lea eax, [ebp - 0x114]
push esi
push eax
call fcn.0060b7a0
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x5fbbd6
cmp dword [ebp - 0x114], 6
jb 0x5fbbd6
inc esi
mov dword [0x72844c], esi
mov ecx, dword [ebp - 4]
xor eax, eax
cmp esi, 1
pop esi
sete al
xor ecx, ebp
call fcn.00609802
mov esp, ebp
pop ebp
ret

Function at 0x5fdce7
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi + 8]
and edi, 7
je 0x5fdd0b
cmp dword [esi + 8], edi
jge 0x5fdd03
push esi
call fcn.005fcfb7
pop ecx
mov ecx, edi
shr dword [esi + 0xc], cl
sub dword [esi + 8], edi
mov edx, dword [esi + 8]
xor ecx, ecx
test edx, edx
jle 0x5fdd34
mov edi, dword [esi + 0xc]
mov al, byte [esi + 0xc]
sub edx, 8
mov byte [ebp + ecx + 8], al
inc ecx
shr edi, 8
mov dword [esi + 0xc], edi
test edx, edx
jg 0x5fdd17
mov dword [esi + 8], edx
cmp ecx, 4
jge 0x5fdd51
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jb 0x5fdd3f
xor eax, eax
jmp 0x5fdd47
mov al, byte [edx]
inc edx
mov dword [esi], edx
movzx eax, al
mov byte [ebp + ecx + 8], al
inc ecx
cmp ecx, 4
jl 0x5fdd36
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp + 0xb]
movzx edi, ah
movzx eax, al
shl edi, 8
add edi, eax
shl ecx, 8
movzx eax, byte [ebp + 0xa]
add ecx, eax
mov eax, edi
xor eax, 0xffff
cmp ecx, eax
je 0x5fdd85
mov dword [0x73dfb0], str.zlib_corrupt
xor eax, eax
jmp 0x5fddc7
mov eax, dword [esi]
add eax, edi
cmp eax, dword [esi + 4]
jbe 0x5fdd9a
mov dword [0x73dfb0], str.read_past_buffer
jmp 0x5fdd81
mov eax, dword [esi + 0x10]
add eax, edi
cmp eax, dword [esi + 0x18]
jbe 0x5fddb1
push edi
push esi
call fcn.005fce88
pop ecx
pop ecx
test eax, eax
je 0x5fdd81
push edi
push dword [esi]
push dword [esi + 0x10]
call fcn.0060aca0
add dword [esi], edi
xor eax, eax
add dword [esi + 0x10], edi
add esp, 0xc
inc eax
pop edi
pop esi
pop ebp
ret
Function at 0x5fea9b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0x10]
test esi, esi
jg 0x5feaaa
xor eax, eax
jmp 0x5feadc
push 4
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.0060aca0
xor ecx, ecx
add esp, 0xc
mov edx, ecx
test esi, esi
jle 0x5fead9
push edi
mov edi, dword [ebp + 0xc]
mov al, byte [ebp + ecx + 0x10]
xor byte [edx + edi], al
inc ecx
and ecx, 3
inc edx
cmp edx, esi
jl 0x5feac8
pop edi
xor eax, eax
inc eax
pop esi
pop ebp
ret

Function at 0x601625
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
push edi
push dword [esi + 0x48]
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, esi
mov edi, eax
call fcn.006010ee
test al, al
je 0x60167a
cmp byte [ebp + 8], 0
je 0x60167a
cmp byte [ebp + 0xc], 0
mov byte [esi + 0x11], 1
je 0x60165c
push edi
mov ecx, esi
call fcn.0060169c
jmp 0x601660
mov byte [esi + 0x10], 1
push dword [esi + 0x48]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x601696
push 4
push dword [esi + 0x48]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x601696
push dword [esi + 0x48]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x601692
push 0
push dword [esi + 0x48]
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [esi + 0x11], 0
pop edi
pop esi
pop ebp
ret 8

Function at 0x603cf1
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi + 4], 0
je 0x603d6b
mov eax, dword [esi]
call dword [eax + 0xc]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x603d6b
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [eax + 1]
lea eax, [ebx + ebx]
call fcn.00609a70
mov eax, esp
mov dword [ebp - 8], eax
test eax, eax
je 0x603d6b
push ebx
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x603d6b
push dword [ebp - 8]
add ecx, 0xd8
call fcn.004195af
mov ecx, dword [esi + 8]
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push str.textchanged
call fcn.005d8c55
xor eax, eax
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00609802
mov esp, ebp
pop ebp
ret 0x10
Function at 0x603e2a
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi]
call dword [eax + 0xc]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x603ea6
push esi
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [eax + 1]
lea eax, [ebx + ebx]
call fcn.00609a70
mov eax, esp
mov dword [ebp - 8], eax
test eax, eax
je 0x603ecc
push ebx
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x603e89
push dword [ebp - 8]
add ecx, 0xd8
call fcn.004195af
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push esi
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x603ecc
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 0x148]
mov ecx, dword [edi + 8]
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push str.nativekillfocus
call fcn.005d8c55
xor eax, eax
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00609802
mov esp, ebp
pop ebp
ret 0x10

Function at 0x64e8c6
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0064e4cb

Function at 0x64e8d1
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0064e64c

Function at 0x6577c2
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00656f9c

Function at 0x6577cd
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.006571d7

Function at 0x657c39
Capabilities:
Create thread
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.006579c0
Function at 0x431002
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..text
push 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop edi
nop
nop
cmp eax, 0
nop
je 0x431072
nop
nop
nop
nop
nop
mov ebx, 0x40915c
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
mov eax, ecx
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x7fc76058
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
loop 0x431060
nop
nop
nop
mov eax, section..data
nop
nop
nop
cmp eax, 0
nop
nop
nop
je 0x4310d2
nop
nop
mov ebx, 0x42f3f8
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x63b1c17
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4310c0
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x401219
Function at 0x10001320
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x1000133b
pop edi
pop ebx
pop ebp
ret
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x10001372
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp + 0x10]
add eax, esi
and ecx, 0xf
jbe 0x1000136e
jmp 0x10001360
cmp esi, eax
jae 0x10001372
dec ecx
movzx edx, word [esi]
lea esi, [esi + edx*2 + 2]
jne 0x10001360
cmp esi, eax
jb 0x10001379
pop esi
pop edi
xor eax, eax
pop ebx
pop ebp
ret
movzx eax, word [esi]
neg eax
sbb eax, eax
and eax, esi
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x100076e0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10143a08
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10197710]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
fld qword [ebp + 8]
mov dword [esp + 0xc], vtable.JcDbPoint.0
fst qword [esp + 0x14]
fld qword [ebp + 0x10]
fst qword [esp + 0x1c]
fld qword [ebp + 0x18]
fst qword [esp + 0x24]
mov dword [esp + 0x38], 0
fxch st(2)
sub esp, 0x20
mov eax, esp
fstp qword [eax + 8]
mov dword [eax], vtable.JcDbBase.0
add ecx, 0x20
fstp qword [eax + 0x10]
mov dword [esp + 0x28], esp
mov dword [eax], vtable.JcDbPoint.0
fstp qword [eax + 0x18]
call sym.JcDataManage.dll_public:_void___thiscall_JcDbPoints::AddPoint_class_JcDbPoint_
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x18

Function at 0x10007cd0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10143fcb
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10197710]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
mov edi, dword [ebp + 8]
mov dword [esi], vtable.JcDbObject.0
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov dword [esi + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0xc], edx
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x14]
sub eax, 0x10
push eax
call fcn.10001980
add eax, 0x10
mov dword [esi + 0x14], eax
mov cx, word [edi + 0x18]
add esp, 4
mov word [esi + 0x18], cx
mov dword [ebp - 4], 1
lea eax, [esi + 0x1c]
mov dword [esi], vtable.JcDbGrid.0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 2
mov dword [eax], vtable.JcDbPoints.0
add eax, 4
lea ecx, [edi + 0x20]
push eax
call fcn.100077f0
lea eax, [esi + 0x30]
mov dword [ebp + 8], eax
mov byte [ebp - 4], 4
mov dword [eax], vtable.JcDbCells.0
add eax, 4
lea ecx, [edi + 0x34]
push eax
call fcn.10005530
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x100086c0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10143f7b
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10197710]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov dword [esi], vtable.JcDbObject.0
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov dword [esi + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0xc], edx
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x14]
sub eax, 0x10
push eax
call fcn.10001980
add eax, 0x10
mov dword [esi + 0x14], eax
mov cx, word [edi + 0x18]
add esp, 4
mov word [esi + 0x18], cx
lea edx, [esi + 0x1c]
mov dword [ebp - 4], 1
lea ecx, [edi + 0x1c]
push edx
mov dword [esi], vtable.JcDbRegion.0
call fcn.1000b310
mov byte [ebp - 4], 2
mov ax, word [edi + 0x2c]
mov word [esi + 0x2c], ax
mov ecx, dword [edi + 0x30]
lea edx, [esi + 0x34]
mov dword [esi + 0x30], ecx
lea ecx, [edi + 0x34]
push edx
call fcn.1000b5b0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x10013a70
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10143c11
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x10197710]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
call sym.JcDataManage.dll_public:_void___thiscall_JcDbObject::constructor_void_
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [esi], vtable.JcDbGrid.0
mov dword [esi + 0x1c], vtable.JcDbPoints.0
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ecx
lea eax, [esi + 0x30]
mov dword [ebp - 0x14], eax
mov dword [eax], vtable.JcDbCells.0
add eax, 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
push ecx
push ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
mov byte [ebp - 4], 3
call fcn.10005830
fld qword [ebp + 0x18]
sub esp, 0x18
mov byte [ebp - 4], 4
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
lea ecx, [esi + 0x1c]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.JcDataManage.dll_public:_void___thiscall_JcDbPoints::AddPoint_double__double__double_
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18

Function at 0x100140c0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10143a08
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10197710]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
fld qword [ebp + 8]
mov dword [esp + 0xc], vtable.JcDbPoint.0
fst qword [esp + 0x14]
fld qword [ebp + 0x10]
fst qword [esp + 0x1c]
fld qword [ebp + 0x18]
fst qword [esp + 0x24]
mov dword [esp + 0x38], 0
fxch st(2)
sub esp, 0x20
mov eax, esp
fstp qword [eax + 8]
mov dword [eax], vtable.JcDbBase.0
add ecx, 0x1c
fstp qword [eax + 0x10]
mov dword [esp + 0x28], esp
mov dword [eax], vtable.JcDbPoint.0
fstp qword [eax + 0x18]
call sym.JcDataManage.dll_public:_void___thiscall_JcDbPoints::AddPoint_class_JcDbPoint_
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x18

Function at 0x100180c0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10143a08
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10197710]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
fld qword [ebp + 8]
mov dword [esp + 0xc], vtable.JcDbPoint.0
fst qword [esp + 0x14]
fld qword [ebp + 0x10]
fst qword [esp + 0x1c]
fld qword [ebp + 0x18]
fst qword [esp + 0x24]
mov dword [esp + 0x38], 0
fxch st(2)
sub esp, 0x20
mov eax, esp
fstp qword [eax + 8]
mov dword [eax], vtable.JcDbBase.0
mov dword [esp + 0x28], esp
fstp qword [eax + 0x10]
mov dword [eax], vtable.JcDbPoint.0
fstp qword [eax + 0x18]
call sym.JcDataManage.dll_public:_void___thiscall_JcDbPoints::AddPoint_class_JcDbPoint_
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x18
Function at 0x10019140
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10143a08
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10197710]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
fld qword [ebp + 8]
mov dword [esp + 0xc], vtable.JcDbPoint.0
fst qword [esp + 0x14]
fld qword [ebp + 0x10]
fst qword [esp + 0x1c]
fld qword [ebp + 0x18]
fst qword [esp + 0x24]
mov eax, dword [ebp + 0x20]
fxch st(2)
push eax
mov dword [esp + 0x3c], 0
sub esp, 0x20
mov eax, esp
fstp qword [eax + 8]
mov dword [eax], vtable.JcDbBase.0
mov dword [esp + 0x2c], esp
fstp qword [eax + 0x10]
mov dword [eax], vtable.JcDbPoint.0
fstp qword [eax + 0x18]
call sym.JcDataManage.dll_public:_void___thiscall_JcDbRegion::AddPoint_class_JcDbPoint__int_
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x1c

Function at 0x10023f40
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101440e7
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x10197710]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [edi], 0x10171108
mov dword [edi + 0x10], 0x10171110
mov dword [edi + 0x70], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
lea esi, [edi + 0x18]
push esi
mov dword [ebp - 4], ebx
push edi
mov dword [ebp - 0x10], 1
call fcn.10025370
mov dword [ebp - 4], 1
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push esi
mov dword [edi + ecx], vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
call fcn.100258f0
lea edx, [esi + 8]
mov dword [esi + 0x10], edx
lea ecx, [esi + 0x18]
mov dword [esi + 0x20], ecx
lea edx, [esi + 0x1c]
mov dword [esi + 0x24], edx
mov dword [esi], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [esi + 0x50], bl
mov byte [esi + 0x49], bl
lea eax, [esi + 0xc]
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x28]
mov dword [esi + 0x30], ecx
lea edx, [esi + 0x2c]
mov dword [esi + 0x34], edx
mov dword [eax], ebx
mov eax, dword [esi + 0x24]
mov dword [eax], ebx
mov ecx, dword [esi + 0x34]
mov dword [ecx], ebx
mov edx, dword [esi + 0x10]
mov dword [edx], ebx
mov eax, dword [esi + 0x20]
mov edx, dword [0x10d86474]
mov dword [eax], ebx
mov ecx, dword [esi + 0x30]
mov dword [ecx], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x4c], edx
mov dword [esi + 0x44], ebx
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4