joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4ed9e0
Capabilities:
Query environment variable

Disassembly:
push ebp
sub ecx, 1
push edi
mov ebp, edx
push esi
mov esi, 1
push ebx
mov ebx, 0x66666667
sub esp, 0x2c
mov dword [esp + 0x1c], eax
mov eax, ecx
mov edi, dword [esp + 0x40]
sar eax, 0x1f
mov dword [esp + 0x14], eax
mov eax, ecx
imul ebx
mov dword [esp + 0x10], ecx
sar ecx, 0x1f
sar edx, 2
mov ebx, edx
sub ebx, ecx
je 0x4eda33
mov ecx, 0x66666667
mov eax, ebx
add esi, 1
imul ecx
sar ebx, 0x1f
sar edx, 2
sub edx, ebx
mov ebx, edx
jne 0x4eda20
mov eax, dword [edi + 0x28]
cmp eax, 0xffffffff
je 0x4edaa8
mov edx, dword [edi + 8]
cmp eax, esi
cmovge esi, eax
lea eax, [esi + 2]
cmp edx, eax
jg 0x4edaa1
mov dword [edi + 8], 0xffffffff
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov edx, ebp
mov dword [esp], edi
add esi, 1
call sym.___pformat_emit_float
mov eax, dword [edi + 0x28]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 4]
mov edx, eax
and eax, 0x20
or edx, 0x1c0
or eax, 0x45
mov dword [edi + 4], edx
mov edx, edi
call sym.___pformat_putc
mov eax, dword [esp + 0x10]
mov ecx, edi
add dword [edi + 8], esi
mov edx, dword [esp + 0x14]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sym.___pformat_int.isra.0
sub edx, eax
mov dword [edi + 8], edx
jmp 0x4eda51
mov edx, dword [0x5606dc]
cmp edx, 0xffffffff
je 0x4edad1
test edx, edx
mov eax, 2
jne 0x4edac9
call dbg._get_output_format
and eax, 1
neg eax
add eax, 3
mov dword [edi + 0x28], eax
jmp 0x4eda3b
mov dword [esp], 0x59c303
call sym._getenv
test eax, eax
je 0x4edaf7
movsx eax, byte [eax]
xor edx, edx
sub eax, 0x30
cmp eax, 2
setbe dl
mov dword [0x5606dc], edx
jmp 0x4edab3
xor edx, edx
jmp 0x4edaef
Function at 0x4efc20
Capabilities:
Query environment variable

Disassembly:
push ebp
sub ecx, 1
push edi
mov ebp, edx
push esi
mov esi, 1
push ebx
mov ebx, 0x66666667
sub esp, 0x2c
mov dword [esp + 0x1c], eax
mov eax, ecx
mov edi, dword [esp + 0x40]
sar eax, 0x1f
mov dword [esp + 0x14], eax
mov eax, ecx
imul ebx
mov dword [esp + 0x10], ecx
sar ecx, 0x1f
sar edx, 2
mov ebx, edx
sub ebx, ecx
je 0x4efc73
mov ecx, 0x66666667
mov eax, ebx
add esi, 1
imul ecx
sar ebx, 0x1f
sar edx, 2
sub edx, ebx
mov ebx, edx
jne 0x4efc60
mov eax, dword [edi + 0x28]
cmp eax, 0xffffffff
je 0x4efce8
mov edx, dword [edi + 8]
cmp eax, esi
cmovge esi, eax
lea eax, [esi + 2]
cmp edx, eax
jg 0x4efce1
mov dword [edi + 8], 0xffffffff
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov edx, ebp
mov dword [esp], edi
add esi, 1
call dbg.__pformat_emit_float
mov eax, dword [edi + 0x28]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 4]
mov edx, eax
and eax, 0x20
or edx, 0x1c0
or eax, 0x45
mov dword [edi + 4], edx
mov edx, edi
call dbg.__pformat_putc
mov eax, dword [esp + 0x10]
mov ecx, edi
add dword [edi + 8], esi
mov edx, dword [esp + 0x14]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sym.___pformat_int.isra.0_1
sub edx, eax
mov dword [edi + 8], edx
jmp 0x4efc91
mov edx, dword [0x5606f8]
cmp edx, 0xffffffff
je 0x4efd11
test edx, edx
mov eax, 2
jne 0x4efd09
call dbg._get_output_format
and eax, 1
neg eax
add eax, 3
mov dword [edi + 0x28], eax
jmp 0x4efc7b
mov dword [esp], str.PRINTF_EXPONENT_DIGITS
call sym._getenv
test eax, eax
je 0x4efd37
movsx eax, byte [eax]
xor edx, edx
sub eax, 0x30
cmp eax, 2
setbe dl
mov dword [0x5606f8], edx
jmp 0x4efcf3
xor edx, edx
jmp 0x4efd2f

Function at 0x4f6b30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x14
mov ecx, dword [ecx + 8]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [sym.imp.msvcrt.dll__iob]
test ecx, ecx
je 0x4f6b53
mov ebx, dword [ebp - 4]
leave
jmp dbg.std::string::append(char const*, unsigned int)
add ebx, 0x40
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._fwrite
mov dword [esp], ebx
call sym._fflush
mov ebx, dword [ebp - 4]
leave
ret 8

Function at 0x4f6b80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x14
mov ecx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [sym.imp.msvcrt.dll__iob]
test ecx, ecx
je 0x4f6ba3
mov ebx, dword [ebp - 4]
leave
jmp dbg.std::string::append(char const*, unsigned int)
add ebx, 0x20
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._fwrite
mov dword [esp], ebx
call sym._fflush
mov ebx, dword [ebp - 4]
leave
ret 8
Function at 0x52b600
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
sub esp, 0x1c
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ecx, edi
call dbg.std::__basic_file<char>::fd()
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._read
cmp eax, 0xffffffff
mov ebp, eax
je 0x52b640
add esp, 0x1c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 8
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
je 0x52b611
add esp, 0x1c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 8

Function at 0x552170
Capabilities:
Encode data using xor
Hash data using murmur2

Disassembly:
push edi
push esi
push ebx
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
xor eax, edi
cmp edi, 3
jbe 0x5521ff
lea ecx, [edi - 4]
shr ecx, 2
lea esi, [edx + ecx*4 + 4]
imul ebx, dword [edx], 0x5bd1e995
add edx, 4
mov ecx, ebx
shr ecx, 0x18
xor ecx, ebx
imul ebx, eax, 0x5bd1e995
imul eax, ecx, 0x5bd1e995
xor eax, ebx
cmp edx, esi
jne 0x552190
and edi, 3
cmp edi, 2
je 0x5521e9
cmp edi, 3
je 0x5521e0
cmp edi, 1
je 0x5521f2
mov edx, eax
shr edx, 0xd
xor edx, eax
imul edx, edx, 0x5bd1e995
pop ebx
pop esi
pop edi
mov eax, edx
shr eax, 0xf
xor eax, edx
ret
movzx edx, byte [esi + 2]
shl edx, 0x10
xor eax, edx
movzx edx, byte [esi + 1]
shl edx, 8
xor eax, edx
movzx edx, byte [esi]
xor edx, eax
imul eax, edx, 0x5bd1e995
jmp 0x5521c4
mov esi, edx
jmp 0x5521b5

Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
mov ebx, 0x40c7d0
nop
nop
mov ecx, 0x1422943
test eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
je 0x43204e
nop
nop
nop
xor dword [eax], ecx
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x432024
nop
nop
nop
mov eax, section..data
mov ebx, 0x42f314
nop
mov ecx, 0x74200d21
nop
nop
nop
nop
nop
test eax, eax
nop
je 0x432084
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43206c
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x431219
Function at 0x40e54d
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x418020]
jne 0x40e557
repz ret
jmp fcn.0040e73e

Function at 0x4104f9
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.0040ebb1
and dword [ebp - 4], 0
cmp dword [0x43d430], 0
mov ebx, eax
jne 0x4105aa
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x41065b
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x41065b
push eax
call fcn.0040eb3f
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x43d430], eax
call esi
push eax
call fcn.0040eb3f
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x43d434], eax
call esi
push eax
call fcn.0040eb3f
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x43d438], eax
call esi
push eax
call fcn.0040eb3f
pop ecx
mov dword [0x43d440], eax
test eax, eax
je 0x4105aa
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.0040eb3f
pop ecx
mov dword [0x43d43c], eax
mov eax, dword [0x43d43c]
cmp eax, ebx
je 0x410602
cmp dword [0x43d440], ebx
je 0x410602
push eax
call fcn.0040ebba
push dword [0x43d440]
mov esi, eax
call fcn.0040ebba
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x410602
test edi, edi
je 0x410602
call esi
test eax, eax
je 0x4105f9
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x4105f9
test byte [ebp - 0xc], 1
jne 0x410602
or dword [ebp + 0x10], 0x200000
jmp 0x41063b
mov eax, dword [0x43d434]
cmp eax, ebx
je 0x41063b
push eax
call fcn.0040ebba
pop ecx
test eax, eax
je 0x41063b
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x41063b
mov eax, dword [0x43d438]
cmp eax, ebx
je 0x41063b
push eax
call fcn.0040ebba
pop ecx
test eax, eax
je 0x41063b
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x43d430]
call fcn.0040ebba
pop ecx
test eax, eax
je 0x41065b
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x41065d
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x45ab1ae5
nop
nop
nop
nop
test eax, eax
nop
je 0x43004e
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x430024
nop
nop
nop
nop
mov eax, section..rdata
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x5b3c0a34
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x430084
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
add eax, 4
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x401219
Function at 0x41d8d0
Capabilities:
Packed with generic packer

Disassembly:
cmp byte [esp + 8], 1
jne 0x41da94
pushal
mov esi, section.UPX1
lea edi, [esi - 0x13000]
push edi
or ebp, 0xffffffff
jmp 0x41d8fa
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x41d901
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x41d8f0
mov eax, 1
add ebx, ebx
jne 0x41d913
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x41d908
jne 0x41d924
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x41d908
xor ecx, ecx
sub eax, 3
jb 0x41d938
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x41d9aa
mov ebp, eax
add ebx, ebx
jne 0x41d943
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x41d950
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x41d974
inc ecx
add ebx, ebx
jne 0x41d960
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x41d955
jne 0x41d971
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x41d955
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x41d994
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x41d985
jmp 0x41d8f6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x41d994
add edi, ecx
jmp 0x41d8f6
pop esi
mov edi, esi
mov ecx, 0x908
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x41d9b2
cmp byte [edi], 1
jne 0x41d9b2
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x41d9b7
lea edi, [esi + 0x1a000]
mov eax, dword [edi]
or eax, eax
je 0x41da26
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x1d9a8]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x1da0c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x41d9e4
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x1da10]
or eax, eax
je 0x41da20
mov dword [ebx], eax
add ebx, 4
jmp 0x41da01
popal
xor eax, eax
ret 0xc
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x41da57
cmp al, 0xef
ja 0x41da4a
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x41da2c
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x41da39
mov ebp, dword [esi + 0x1da14]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x41da8b
sub esp, 0xffffff80
jmp 0x4129e4
Function at 0x430000
Capabilities:
Encode data using xor

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43000c
nop
nop
nop
nop
nop
pop eax
nop
add eax, 0x403d7a
nop
sub eax, 0x403d20
nop
nop
nop
nop
mov ebx, dword [eax]
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
nop
add ebx, 4
cmp ebx, ecx
nop
nop
nop
nop
jl 0x430030
nop
nop
nop
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
nop
nop
nop
nop
jne 0x43001e
popal
nop
nop
nop
nop
nop
jmp fcn.00401219
Function at 0x405ed0
Capabilities:
Hash data using murmur3

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x406107
sub esp, 0x1c
movzx eax, byte [0x7282bd]
test al, al
jne 0x4060df
mov eax, dword [0x7284f0]
mov ecx, dword [esp + 0x28]
imul eax, ecx
mov edx, dword [esp + 0x24]
add eax, edx
mov ebx, dword [esp + 0x20]
jmp 0x405f9a
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edi
mov edx, ebx
mov dword [esp + 0x14], edx
lea ecx, [edx + 4]
lea edi, [edx + 8]
add edx, 0xc
mov ebx, dword [ebx]
xor eax, ebx
imul eax, eax, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
mov ecx, dword [ecx]
xor ebp, ecx
imul ebp, ebp, 0xc70f85e1
rol ebp, 0xf
imul ebp, ebp, 0x319bca41
mov ecx, dword [edi]
xor esi, ecx
imul esi, esi, 0x319bca41
rol esi, 0xf
imul esi, esi, 0x8b421a21
mov edi, dword [edx]
mov ecx, dword [esp + 0x10]
xor edi, ecx
imul edi, edi, 0x8b421a21
rol edi, 0xf
imul edi, edi, 0xbce2d621
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
mov edx, dword [esp + 0x14]
add edx, 0x10
mov ebx, edx
mov edx, dword [esp + 0x24]
cmp ecx, 0x10
jae 0x405f14
xor eax, ebp
xor eax, esi
xor eax, edi
test ecx, ecx
je 0x4060d8
cmp ecx, 4
jb 0x4060a2
je 0x40608d
cmp ecx, 8
jbe 0x40605f
cmp ecx, 0x10
jbe 0x405fdc
mov ebp, dword [0x7284f4]
imul ebp, edx
mov esi, dword [0x7284f8]
imul esi, edx
mov edi, dword [0x7284fc]
imul edi, edx
jmp 0x405f8f
mov edx, ebx
lea ebp, [edx + 4]
lea esi, [ecx + edx - 8]
lea ecx, [ecx + edx - 4]
mov edx, dword [ebx]
xor eax, edx
imul eax, eax, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
mov edx, dword [ebp]
xor edx, eax
imul edx, edx, 0xbce2d621
rol edx, 0xf
imul edx, edx, 0xc70f85e1
mov eax, dword [esi]
xor eax, edx
imul eax, eax, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
mov ecx, dword [ecx]
xor ecx, eax
imul ecx, ecx, 0xbce2d621
rol ecx, 0xf
imul ecx, ecx, 0xc70f85e1
mov eax, ecx
shr ecx, 0x11
xor eax, ecx
imul eax, eax, 0x319bca41
mov ecx, eax
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0x8b421a21
mov ecx, eax
shr eax, 0x10
xor eax, ecx
mov dword [esp + 0x2c], eax
add esp, 0x1c
ret
mov edx, ebx
lea edx, [ecx + edx - 4]
mov ecx, dword [ebx]
xor ecx, eax
imul ecx, ecx, 0xbce2d621
rol ecx, 0xf
imul ecx, ecx, 0xc70f85e1
mov eax, dword [edx]
xor ecx, eax
imul ecx, ecx, 0xbce2d621
rol ecx, 0xf
imul ecx, ecx, 0xc70f85e1
jmp 0x406036
mov ecx, dword [ebx]
xor ecx, eax
imul ecx, ecx, 0xbce2d621
rol ecx, 0xf
imul ecx, ecx, 0xc70f85e1
jmp 0x406036
mov edx, ecx
shr ecx, 1
mov ebp, ebx
lea esi, [ecx + ebp]
lea edx, [edx + ebp - 1]
movzx ecx, byte [ebx]
xor ecx, eax
movzx eax, byte [esi]
shl eax, 8
xor ecx, eax
movzx eax, byte [edx]
shl eax, 0x10
xor ecx, eax
imul ecx, ecx, 0xbce2d621
rol ecx, 0xf
imul ecx, ecx, 0xc70f85e1
jmp 0x406036
mov ecx, eax
jmp 0x406036
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
call dbg.runtime.aeshash
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
add esp, 0x1c
ret
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.memhash
Function at 0x40e5e0
Capabilities:
Decompress data using quicklz

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40e794
sub esp, 0x38
mov eax, dword [0x6e50cc]
cmp eax, 0x7000000
jle 0x40e779
mov eax, 0x7000000
mov dword [esp + 0x10], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x8c]
mov ebx, edx
sar edx, 0x1f
and edx, 0xa8888eef
shl ebx, 1
xor ebx, edx
mov dword [ecx + 0x8c], ebx
and ebx, 0x3ffffff
lea ecx, [ebx + 1]
mov dword [esp], ecx
call dbg.runtime.uint32tofloat64
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov ecx, eax
shr eax, 0x14
and eax, 0x7ff
mov edx, eax
add eax, 0xfffffc01
mov ebx, ecx
shr ecx, 0xf
and ecx, 0x1f
mov ebp, ecx
add ecx, 1
mov esi, dword [esp + 0x18]
shr esi, 0x1b
shl ebx, 5
or esi, ebx
mov ebx, ebp
add ebp, 1
mov ebp, 0
adc ebp, 0
test ebp, ebp
jne 0x40e78d
cmp ecx, 0x21
jae 0x40e78d
mov dword [esp + 0x14], esi
lea ebp, [0x6ec060]
movsd xmm0, qword [ebp + ebx*8]
movsd qword [esp + 0x30], xmm0
movsd xmm1, qword [ebp + ecx*8]
movsd qword [esp + 0x28], xmm1
mov dword [esp], eax
add edx, 0xfffffc01
mov eax, 0xffffffff
adc eax, 0
mov dword [esp + 4], eax
call dbg.runtime.int64tofloat64
mov eax, dword [esp + 0x14]
and eax, 0xfffff
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x20], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.uint64tofloat64
movsd xmm0, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x30]
addsd xmm0, xmm1
movsd xmm2, qword [esp + 0x28]
subsd xmm2, xmm1
movsd xmm1, qword [esp + 8]
mulsd xmm2, xmm1
movsd xmm1, qword [0x625098]
mulsd xmm1, xmm2
addsd xmm0, xmm1
movsd xmm1, qword [0x6250e0]
subsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x40e754
xorps xmm0, xmm0
mov eax, dword [esp + 0x10]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x625100]
mulsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
inc eax
mov dword [esp + 0x3c], eax
add esp, 0x38
ret
test eax, eax
jne 0x40e60f
mov dword [esp + 0x3c], 0
add esp, 0x38
ret
call dbg.runtime.panicindex
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.nextSample
Function at 0x412560
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4127a1
sub esp, 0x24
mov eax, dword [0x728340]
test eax, eax
jne 0x412789
lea eax, [0x728328]
mov dword [esp], eax
call dbg.runtime.lock
mov eax, dword [0x715348]
test eax, eax
je 0x4125ad
mov eax, dword [eax + 8]
cmp eax, 0xcc
jne 0x412674
mov eax, dword [0x715340]
test eax, eax
jne 0x412656
mov dword [esp], 0x1000
mov dword [esp + 4], 0
lea eax, [0x729f78]
mov dword [esp + 8], eax
call dbg.runtime.persistentalloc
mov eax, dword [esp + 0xc]
mov dword [0x715340], eax
mov ecx, dword [0x71531c]
mov dword [eax], ecx
mov eax, dword [0x715340]
mov dword [0x71531c], eax
movzx eax, byte [0x7286a0]
test al, al
jne 0x412656
xor eax, eax
jmp 0x412613
lea ebp, [0x7286a0]
mov byte [ebp + edx], bl
lea eax, [edx + 1]
cmp eax, 0x80
jge 0x412656
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 2
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*4]
mov edx, ebx
sub ebx, ecx
cmp ebx, 5
jae 0x412782
lea ecx, [0x6e50f0]
movzx ebx, byte [ecx + ebx]
cmp edx, 0x80
jb 0x412606
jmp 0x412782
mov eax, dword [0x715340]
mov ecx, dword [eax + 4]
mov dword [0x715340], ecx
mov ecx, dword [0x715348]
mov dword [eax + 4], ecx
mov dword [0x715348], eax
mov eax, dword [0x715348]
mov ecx, dword [eax + 8]
lea edx, [eax + 8]
cmp ecx, 0xcc
jae 0x41277b
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call dbg.runtime/internal/atomic.Xadd
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x20]
lea edx, [ecx + eax*4 + 0x10]
mov ebx, dword [0x728500]
test ebx, ebx
jne 0x41275a
mov edx, dword [esp + 0x2c]
mov dword [ecx + eax*4 + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + eax*4 + 0x18], edx
mov edx, dword [0x728500]
lea ebx, [ecx + eax*4 + 0x1c]
lea ebp, [ecx + eax*4 + 0x20]
lea esi, [ecx + eax*4 + 0x14]
test edx, edx
jne 0x412718
mov edx, dword [esp + 0x34]
mov dword [ecx + eax*4 + 0x1c], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + eax*4 + 0x20], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*4 + 0x14], edx
mov byte [0x7282a6], 1
lea eax, [0x728328]
mov dword [esp], eax
call dbg.runtime.unlock
add esp, 0x24
ret
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], esi
mov dword [esp], ebx
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
jmp 0x4126ff
mov dword [esp + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
jmp 0x4126c9
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
lea eax, [0x5fc444]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call dbg.runtime.throw
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.queuefinalizer
Function at 0x420950
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x420a6c
sub esp, 0x14
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 6]
cmp cl, 1
je 0x4209e0
cmp cl, 2
jne 0x420a54
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call dbg.runtime.mProf_Free
lea eax, [0x71c2f4]
mov dword [esp], eax
call dbg.runtime.lock
lea eax, [0x71c2d0]
test byte [eax], al
mov eax, dword [0x71c2e8]
mov ecx, dword [0x71c2d0]
sub eax, ecx
mov dword [0x71c2e8], eax
mov eax, dword [0x71c2dc]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x71c2dc], ecx
lea eax, [0x71c2f4]
mov dword [esp], eax
call dbg.runtime.unlock
add esp, 0x14
ret
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call dbg.runtime.queuefinalizer
lea eax, [0x71c2f4]
mov dword [esp], eax
call dbg.runtime.lock
lea eax, [0x71c2ac]
test byte [eax], al
mov eax, dword [0x71c2c4]
mov ecx, dword [0x71c2ac]
sub eax, ecx
mov dword [0x71c2c4], eax
mov eax, dword [0x71c2b8]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x71c2b8], ecx
lea eax, [0x71c2f4]
mov dword [esp], eax
call dbg.runtime.unlock
jmp 0x4209dc
lea eax, [0x5f9444]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call dbg.runtime.throw
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.freespecial