joyce8/EMBER2024-capa huggingface dataset:
Function at 0x23194f40c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x17
mov byte [rbp - 0x20], 0x30
mov byte [rbp - 0x1f], 0xb6
mov byte [rbp - 0x1e], 0x5b
mov byte [rbp - 0x1d], 0xe1
mov byte [rbp - 0x1c], 4
mov byte [rbp - 0x1b], 0x24
mov byte [rbp - 0x1a], 0x32
mov byte [rbp - 0x19], 0x6e
mov byte [rbp - 0x18], 0x63
mov byte [rbp - 0x17], 0xfa
mov byte [rbp - 0x16], 0x57
mov byte [rbp - 0x15], 0xf0
mov byte [rbp - 0x14], 9
mov byte [rbp - 0x13], 0x32
mov byte [rbp - 0x12], 0x2d
mov byte [rbp - 0x11], 0x78
mov byte [rbp - 0x10], 0x63
mov byte [rbp - 0xf], 0xfa
mov byte [rbp - 0xe], 0x47
mov byte [rbp - 0xd], 0xfb
mov byte [rbp - 0xc], 0x45
mov byte [rbp - 0xb], 0x75
mov byte [rbp - 0xa], 0x59
lea rax, [0x231ec4f80]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194f4e9
lea rax, [0x231ec4fa0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_23ull__2114817593833674051ull__char_.obfuscated_data_ay::obfuscator_23ull__2114817593833674051ull__char__const_
lea rax, [0x231ec4f80]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4fa0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_23ull__2114817593833674051ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4fa0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret

Function at 0x23194f5a8
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x17
mov byte [rbp - 0x20], 2
mov byte [rbp - 0x1f], 0x70
mov byte [rbp - 0x1e], 0x19
mov byte [rbp - 0x1d], 0xfd
mov byte [rbp - 0x1c], 0x66
mov byte [rbp - 0x1b], 0xea
mov byte [rbp - 0x1a], 0xe0
mov byte [rbp - 0x19], 0x5a
mov byte [rbp - 0x18], 0x51
mov byte [rbp - 0x17], 0x3c
mov byte [rbp - 0x16], 0x12
mov byte [rbp - 0x15], 0xfb
mov byte [rbp - 0x14], 0x62
mov byte [rbp - 0x13], 0xf8
mov byte [rbp - 0x12], 0xff
mov byte [rbp - 0x11], 0x4c
mov byte [rbp - 0x10], 0x51
mov byte [rbp - 0xf], 0x3c
mov byte [rbp - 0xe], 5
mov byte [rbp - 0xd], 0xe7
mov byte [rbp - 0xc], 0x27
mov byte [rbp - 0xb], 0xbb
mov byte [rbp - 0xa], 0x8b
lea rax, [0x231ec4f00]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194f685
lea rax, [0x231ec4f20]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_23ull__2993654634967536497ull__char_.obfuscated_data_ay::obfuscator_23ull__2993654634967536497ull__char__const_
lea rax, [0x231ec4f00]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4f20]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_23ull__2993654634967536497ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4f20]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret
Function at 0x23194f69a
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x23
mov byte [rbp - 0x30], 0x53
mov byte [rbp - 0x2f], 0x33
mov byte [rbp - 0x2e], 0x5e
mov byte [rbp - 0x2d], 0xfd
mov byte [rbp - 0x2c], 0x75
mov byte [rbp - 0x2b], 0xb9
mov byte [rbp - 0x2a], 0xa9
mov byte [rbp - 0x29], 0x4a
mov byte [rbp - 0x28], 0x1c
mov byte [rbp - 0x27], 0x77
mov byte [rbp - 0x26], 0x5f
mov byte [rbp - 0x25], 0xec
mov byte [rbp - 0x24], 0x7f
mov byte [rbp - 0x23], 0xfc
mov byte [rbp - 0x22], 0xab
mov byte [rbp - 0x21], 6
mov byte [rbp - 0x20], 0x12
mov byte [rbp - 0x1f], 0x33
mov byte [rbp - 0x1e], 2
mov byte [rbp - 0x1d], 0xfd
mov byte [rbp - 0x1c], 0x66
mov byte [rbp - 0x1b], 0xeb
mov byte [rbp - 0x1a], 0xff
mov byte [rbp - 0x19], 9
mov byte [rbp - 0x18], 0x53
mov byte [rbp - 0x17], 0x31
mov byte [rbp - 0x16], 0x53
mov byte [rbp - 0x15], 0xab
mov byte [rbp - 0x14], 0x25
mov byte [rbp - 0x13], 0xbb
mov byte [rbp - 0x12], 0xab
mov byte [rbp - 0x11], 0xb
mov byte [rbp - 0x10], 0x53
mov byte [rbp - 0xf], 0x31
mov byte [rbp - 0xe], 0x71
lea rax, [0x231ec4ec0]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194f7a7
lea rax, [0x231ec4ee0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
call method.ay::obfuscated_data_35ull__2993654634967536497ull__char_.obfuscated_data_ay::obfuscator_35ull__2993654634967536497ull__char__const_
lea rax, [0x231ec4ec0]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4ee0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_35ull__2993654634967536497ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4ee0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x50
pop rbp
ret
Function at 0x23194f872
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x15
mov byte [rbp - 0x20], 0x51
mov byte [rbp - 0x1f], 0x3e
mov byte [rbp - 0x1e], 0x1f
mov byte [rbp - 0x1d], 0xe8
mov byte [rbp - 0x1c], 0x25
mov byte [rbp - 0x1b], 0xb9
mov byte [rbp - 0x1a], 0xa4
mov byte [rbp - 0x19], 0x5a
mov byte [rbp - 0x18], 0x12
mov byte [rbp - 0x17], 0x33
mov byte [rbp - 0x16], 0x3e
mov byte [rbp - 0x15], 0xc7
mov byte [rbp - 0x14], 0x4b
mov byte [rbp - 0x13], 0xd6
mov byte [rbp - 0x12], 0xcc
mov byte [rbp - 0x11], 0x66
mov byte [rbp - 0x10], 0x3f
mov byte [rbp - 0xf], 0x33
mov byte [rbp - 0xe], 0x5e
mov byte [rbp - 0xd], 0xef
mov byte [rbp - 0xc], 7
lea rax, [0x231ec4e40]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194f947
lea rax, [0x231ec4e60]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_21ull__2993654634967536497ull__char_.obfuscated_data_ay::obfuscator_21ull__2993654634967536497ull__char__const_
lea rax, [0x231ec4e40]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4e60]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_21ull__2993654634967536497ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4e60]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret
Function at 0x23194fa46
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x21
mov byte [rbp - 0x30], 0xef
mov byte [rbp - 0x2f], 0x5a
mov byte [rbp - 0x2e], 0
mov byte [rbp - 0x2d], 5
mov byte [rbp - 0x2c], 0xc0
mov byte [rbp - 0x2b], 0xee
mov byte [rbp - 0x2a], 0x6e
mov byte [rbp - 0x29], 0x87
mov byte [rbp - 0x28], 0xa8
mov byte [rbp - 0x27], 0x6d
mov byte [rbp - 0x26], 0x10
mov byte [rbp - 0x25], 0x1d
mov byte [rbp - 0x24], 0x88
mov byte [rbp - 0x23], 0xd9
mov byte [rbp - 0x22], 0x59
mov byte [rbp - 0x21], 0x8e
mov byte [rbp - 0x20], 0xbe
mov byte [rbp - 0x1f], 0x62
mov byte [rbp - 0x1e], 0x45
mov byte [rbp - 0x1d], 0x5c
mov byte [rbp - 0x1c], 0xb9
mov byte [rbp - 0x1b], 0xdc
mov byte [rbp - 0x1a], 0x7e
mov byte [rbp - 0x19], 0x84
mov byte [rbp - 0x18], 0x83
mov byte [rbp - 0x17], 0x68
mov byte [rbp - 0x16], 8
mov byte [rbp - 0x15], 0x14
mov byte [rbp - 0x14], 0xcd
mov byte [rbp - 0x13], 0x9f
mov byte [rbp - 0x12], 0x2f
mov byte [rbp - 0x11], 0xcd
mov byte [rbp - 0x10], 0xcd
lea rax, [0x231ec4dc0]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194fb4b
lea rax, [0x231ec4de0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
call method.ay::obfuscated_data_33ull__17225632977269361101ull__char_.obfuscated_data_ay::obfuscator_33ull__17225632977269361101ull__char__const_
lea rax, [0x231ec4dc0]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4de0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_33ull__17225632977269361101ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4de0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x50
pop rbp
ret
Function at 0x23194fc1e
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x14
mov byte [rbp - 0x20], 0xed
mov byte [rbp - 0x1f], 0x24
mov byte [rbp - 0x1e], 0x37
mov byte [rbp - 0x1d], 4
mov byte [rbp - 0x1c], 0x83
mov byte [rbp - 0x1b], 0xf1
mov byte [rbp - 0x1a], 0x68
mov byte [rbp - 0x19], 0x99
mov byte [rbp - 0x18], 0xa8
mov byte [rbp - 0x17], 0x65
mov byte [rbp - 0x16], 0x45
mov byte [rbp - 0x15], 0x39
mov byte [rbp - 0x14], 0x84
mov byte [rbp - 0x13], 0xda
mov byte [rbp - 0x12], 0x65
mov byte [rbp - 0x11], 0x8a
mov byte [rbp - 0x10], 0xbe
mov byte [rbp - 0xf], 0x7d
mov byte [rbp - 0xe], 0x4c
mov byte [rbp - 0xd], 0x71
lea rax, [0x231ec4d40]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194fcef
lea rax, [0x231ec4d60]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_20ull__17225632977269361101ull__char_.obfuscated_data_ay::obfuscator_20ull__17225632977269361101ull__char__const_
lea rax, [0x231ec4d40]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4d60]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_20ull__17225632977269361101ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4d60]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret
Function at 0x23194fdee
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x22
mov byte [rbp - 0x30], 0x65
mov byte [rbp - 0x2f], 0x36
mov byte [rbp - 0x2e], 0x7b
mov byte [rbp - 0x2d], 0xf1
mov byte [rbp - 0x2c], 0xea
mov byte [rbp - 0x2b], 0x36
mov byte [rbp - 0x2a], 0xa9
mov byte [rbp - 0x29], 0x6f
mov byte [rbp - 0x28], 0x35
mov byte [rbp - 0x27], 0x12
mov byte [rbp - 0x26], 0x79
mov byte [rbp - 0x25], 0xf0
mov byte [rbp - 0x24], 0xb5
mov byte [rbp - 0x23], 0x1e
mov byte [rbp - 0x22], 0xb7
mov byte [rbp - 0x21], 0x5c
mov byte [rbp - 0x20], 0x22
mov byte [rbp - 0x1f], 0x57
mov byte [rbp - 0x1e], 0x32
mov byte [rbp - 0x1d], 0xd0
mov byte [rbp - 0x1c], 0xbf
mov byte [rbp - 0x1b], 0x18
mov byte [rbp - 0x1a], 0xb5
mov byte [rbp - 0x19], 0x4a
mov byte [rbp - 0x18], 0x34
mov byte [rbp - 0x17], 0x1e
mov byte [rbp - 0x16], 0x70
mov byte [rbp - 0x15], 0xfb
mov byte [rbp - 0x14], 0x97
mov byte [rbp - 0x13], 0x1a
mov byte [rbp - 0x12], 0xad
mov byte [rbp - 0x11], 0x57
mov byte [rbp - 0x10], 0x67
mov byte [rbp - 0xf], 0x77
lea rax, [0x231ec4cc0]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23194fef7
lea rax, [0x231ec4ce0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
call method.ay::obfuscated_data_34ull__4600844591466248007ull__char_.obfuscated_data_ay::obfuscator_34ull__4600844591466248007ull__char__const_
lea rax, [0x231ec4cc0]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4ce0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_34ull__4600844591466248007ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4ce0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x50
pop rbp
ret
Function at 0x23194ffaa
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x14
mov byte [rbp - 0x20], 0x67
mov byte [rbp - 0x1f], 0x5a
mov byte [rbp - 0x1e], 0x5a
mov byte [rbp - 0x1d], 0xed
mov byte [rbp - 0x1c], 0xa4
mov byte [rbp - 0x1b], 0x17
mov byte [rbp - 0x1a], 0xac
mov byte [rbp - 0x19], 0x4c
mov byte [rbp - 0x18], 0x2e
mov byte [rbp - 0x17], 0x18
mov byte [rbp - 0x16], 0x71
mov byte [rbp - 0x15], 0xc5
mov byte [rbp - 0x14], 0xb5
mov byte [rbp - 0x13], 0x14
mov byte [rbp - 0x12], 0xba
mov byte [rbp - 0x11], 0x5a
mov byte [rbp - 0x10], 0x34
mov byte [rbp - 0xf], 4
mov byte [rbp - 0xe], 0x3f
mov byte [rbp - 0xd], 0x95
lea rax, [0x231ec4c40]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23195007b
lea rax, [0x231ec4c60]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_20ull__4600844591466248007ull__char_.obfuscated_data_ay::obfuscator_20ull__4600844591466248007ull__char__const_
lea rax, [0x231ec4c40]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec4c60]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_20ull__4600844591466248007ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec4c60]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret
Function at 0x2319525a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x1f
mov byte [rbp - 0x30], 0x94
mov byte [rbp - 0x2f], 0x10
mov byte [rbp - 0x2e], 0x78
mov byte [rbp - 0x2d], 0x53
mov byte [rbp - 0x2c], 0xf5
mov byte [rbp - 0x2b], 0xae
mov byte [rbp - 0x2a], 0xb7
mov byte [rbp - 0x29], 0x3e
mov byte [rbp - 0x28], 0xed
mov byte [rbp - 0x27], 0x19
mov byte [rbp - 0x26], 0x62
mov byte [rbp - 0x25], 6
mov byte [rbp - 0x24], 0xf3
mov byte [rbp - 0x23], 0xab
mov byte [rbp - 0x22], 0xe1
mov byte [rbp - 0x21], 0x3a
mov byte [rbp - 0x20], 0xa3
mov byte [rbp - 0x1f], 0x5f
mov byte [rbp - 0x1e], 0x68
mov byte [rbp - 0x1d], 0x12
mov byte [rbp - 0x1c], 0xee
mov byte [rbp - 0x1b], 0xbb
mov byte [rbp - 0x1a], 0xa4
mov byte [rbp - 0x19], 0x29
mov byte [rbp - 0x18], 0xed
mov byte [rbp - 0x17], 0x1a
mov byte [rbp - 0x16], 0x6a
mov byte [rbp - 0x15], 0x14
mov byte [rbp - 0x14], 0xbc
mov byte [rbp - 0x13], 0xee
mov byte [rbp - 0x12], 0xc1
lea rax, [0x231ec3e80]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x23195269d
lea rax, [0x231ec3ea0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
call method.ay::obfuscated_data_31ull__6611794003103678413ull__char_.obfuscated_data_ay::obfuscator_31ull__6611794003103678413ull__char__const_
lea rax, [0x231ec3e80]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec3ea0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_31ull__6611794003103678413ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec3ea0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x50
pop rbp
ret
Function at 0x231968c60
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
lea rax, [rsp + 0x58]
mov rbx, rcx
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call sym.__acrt_iob_func
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sym.fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call sym.__acrt_iob_func
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sym.vfprintf
call sym.abort
nop
nop dword [rax]

Function at 0x231968cd0
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rsi, dword [0x231f0a074]
test esi, esi
mov rbx, rcx
jle 0x231968e00
mov rax, qword [0x231f0a078]
xor r9d, r9d
add rax, 0x18
nop word [rax + rax]
mov r8, qword [rax]
cmp rbx, r8
jb 0x231968d1b
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 8]
add r8, rdx
cmp rbx, r8
jb 0x231968da5
add r9d, 1
add rax, 0x28
cmp r9d, esi
jne 0x231968d00
mov rcx, rbx
call sym.__mingw_GetSectionForAddress
test rax, rax
mov rdi, rax
je 0x231968e22
mov rax, qword [0x231f0a078]
lea rbx, [rsi + rsi*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rdi
mov dword [rax], 0
call sym._GetPEImageBase
mov edx, dword [rdi + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x231f0a078]
lea rdx, [rsp + 0x20]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x231968e07
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x231968d9e
lea edx, [rax - 4]
and edx, 0xfffffffb
jne 0x231968db0
add dword [0x231f0a074], 1
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret
cmp eax, 2
mov r8d, 0x40
mov eax, 4
mov rcx, qword [rsp + 0x20]
cmove r8d, eax
mov rdx, qword [rsp + 0x38]
add rbx, qword [0x231f0a078]
mov r9, rbx
mov qword [rbx + 8], rcx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x231968d9e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call sym.__report_error
nop dword [rax]
xor esi, esi
jmp 0x231968d28
mov rax, qword [0x231f0a078]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov edx, dword [rdi + 8]
mov r8, qword [rax + rbx + 0x18]
call sym.__report_error
lea rcx, str.Address__p_has_no_image_section
mov rdx, rbx
call sym.__report_error
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x2319691a0
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x231f0a0a0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x231f0a080]
test rbx, rbx
je 0x2319691fc
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x2319691f3
test rsi, rsi
je 0x2319691f3
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x2319691d8
mov rcx, r12
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x231969420
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
test edx, edx
je 0x231969430
add rsp, 0x20
pop rbx
ret
mov ecx, dword [0x231ec8470]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x23196945f
nop dword [rax]
mov rcx, qword [rbx + 8]
call qword [rbx]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
call sym.free
test rbx, rbx
jne 0x231969448
xor edx, edx
mov ecx, dword [0x231ec8470]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x231ec8470]
call qword [sym.imp.KERNEL32.dll_TlsFree]
mov rbx, qword [0x231f0a0e8]
test rbx, rbx
je 0x23196949f
nop dword [rax]
mov rcx, qword [rbx + 8]
call qword [rbx]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
call sym.free
test rbx, rbx
jne 0x231969488
mov qword [0x231f0a0e8], 0
add rsp, 0x20
pop rbx
ret
Function at 0x2319694b0
Capabilities:
Allocate thread local storage
Get thread local storage value
Set thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
cmp edx, 1
mov rbx, rcx
je 0x2319694d0
cmp edx, 3
je 0x231969528
test edx, edx
je 0x2319694f0
add rsp, 0x20
pop rbx
ret
mov eax, dword [0x231f0a0f0]
test eax, eax
je 0x2319695f8
mov dword [0x231f0a0f0], 1
add rsp, 0x20
pop rbx
ret
mov rax, qword [0x231ed2460]
cmp byte [rax], 0
jne 0x231969570
cmp dword [0x231f0a0f0], 1
jne 0x2319694c6
lea rcx, [0x231f0a100]
mov dword [0x231f0a0f0], 0
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [0x231ec8470]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x231969557
nop dword [rax]
mov rcx, qword [rbx + 8]
call qword [rbx]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
call sym.free
test rbx, rbx
jne 0x231969540
mov ecx, dword [0x231ec8470]
xor edx, edx
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x231ec8470]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x23196959f
nop dword [rax]
mov rcx, qword [rbx + 8]
call qword [rbx]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
call sym.free
test rbx, rbx
jne 0x231969588
xor edx, edx
mov ecx, dword [0x231ec8470]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rbx, qword [0x231f0a0e8]
test rbx, rbx
je 0x2319695d7
nop dword [rax]
mov rcx, qword [rbx + 8]
call qword [rbx]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
call sym.free
test rbx, rbx
jne 0x2319695c0
mov ecx, dword [0x231ec8470]
mov qword [0x231f0a0e8], 0
call qword [sym.imp.KERNEL32.dll_TlsFree]
jmp 0x2319694fc
lea rcx, [0x231f0a100]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov qword [0x231f0a0e0], rbx
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x231ec8470], eax
mov rax, qword [0x231ed2460]
cmp byte [rax], 0
jne 0x2319694de
lea rcx, [sym.tls_atexit_callback]
call sym._register_thread_local_exe_atexit_callback
jmp 0x2319694de

Function at 0x2319696f0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov eax, dword [0x231f0a0f0]
test eax, eax
mov rdi, rcx
mov rsi, rdx
je 0x231969780
test r8, r8
je 0x231969731
lea rax, [0x231f0a0e0]
cmp r8, rax
je 0x231969731
lea rdx, str..._.._src_mingw_w64_mingw_w64_crt_crt_tls_atexit.c
mov r8d, 0x46
lea rcx, str._dso__dso____dso_handle
call sym._assert
mov edx, 0x18
mov ecx, 1
call sym.calloc
test rax, rax
mov rbx, rax
je 0x231969780
mov ecx, dword [0x231ec8470]
mov qword [rax], rdi
mov qword [rax + 8], rsi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [0x231ec8470]
mov rdx, rbx
mov qword [rbx + 0x10], rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov eax, 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x231969790
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x2319697a8
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x2319697b0
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret