joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41566b
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x43f014]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x124], edi
mov esi, ebx
lea edx, [edi + 0x10]
movzx ecx, byte [edx]
lea edx, [edx + 4]
movzx eax, byte [edx - 3]
shl eax, 0x10
shl ecx, 0x18
or ecx, eax
movzx eax, byte [edx - 2]
shl eax, 8
or ecx, eax
movzx eax, byte [edx - 1]
or ecx, eax
mov dword [ebp + esi*4 - 0x104], ecx
inc esi
cmp esi, 0x10
jl 0x415690
push 0x40
pop eax
cmp esi, eax
jge 0x415718
sub eax, esi
lea ebx, [ebp + esi*4 - 0x10c]
mov dword [ebp - 0x108], eax
mov edi, eax
mov ecx, dword [ebx]
mov esi, ecx
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov eax, ecx
rol esi, 0xf
rol eax, 0xd
xor esi, eax
shr ecx, 0xa
xor esi, ecx
mov eax, edx
mov ecx, edx
ror eax, 7
rol ecx, 0xe
xor ecx, eax
shr edx, 3
xor ecx, edx
add esi, ecx
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
mov dword [ebx + 4], esi
sub edi, 1
jne 0x4156d6
mov edi, dword [ebp - 0x124]
xor ebx, ebx
mov eax, dword [edi + 0x50]
mov edx, dword [edi + 0x54]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x12c], eax
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x10c], eax
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x118], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x6c]
mov edi, dword [ebp - 0x128]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x108], eax
mov ecx, edx
mov esi, edi
xor ecx, edi
ror esi, 0xd
and ecx, dword [ebp - 0x114]
and edx, edi
xor ecx, edx
mov eax, edi
rol eax, 0xa
xor esi, eax
mov eax, edi
ror eax, 2
xor esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x10c]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 0x11c]
xor edx, eax
mov eax, dword [ebp - 0x118]
and eax, dword [ebp - 0x10c]
xor ecx, eax
mov eax, dword [ebp - 0x11c]
add edx, ecx
mov ecx, dword [ebp - 0x120]
add edx, dword [ebx + 0x439450]
add edx, dword [ebp + ebx - 0x104]
add ebx, 4
add edx, dword [ebp - 0x108]
mov dword [ebp - 0x108], eax
add ecx, edx
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x110], edi
lea edi, [edx + esi]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x114], eax
cmp ebx, 0x100
jl 0x41576c
mov eax, dword [ebp - 0x12c]
add eax, edi
mov edi, dword [ebp - 0x124]
add dword [edi + 0x60], ecx
add dword [edi + 0x54], edx
mov ecx, dword [ebp - 0x118]
add dword [edi + 0x64], ecx
mov edx, dword [ebp - 0x114]
add dword [edi + 0x58], edx
mov ecx, dword [ebp - 0x11c]
add dword [edi + 0x68], ecx
mov ecx, dword [ebp - 0x108]
add dword [edi + 0x6c], ecx
mov edx, dword [ebp - 0x120]
add dword [edi + 0x5c], edx
mov ecx, dword [ebp - 4]
mov dword [edi + 0x50], eax
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0041686e
mov esp, ebp
pop ebp
ret
Function at 0x415890
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], fcn.00415890
mov dword [eax + 0x50], 0x6a09e667
mov dword [eax + 0x54], 0xbb67ae85
mov dword [eax + 0x58], 0x3c6ef372
mov dword [eax + 0x5c], 0xa54ff53a
mov dword [eax + 0x60], 0x510e527f
mov dword [eax + 0x64], 0x9b05688c
mov dword [eax + 0x68], 0x1f83d9ab
mov dword [eax + 0x6c], 0x5be0cd19
and dword [eax + 8], 0
and dword [eax + 0xc], 0
pop ebp
ret

Function at 0x415a31
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
mov eax, dword [0x43f014]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x158], edi
mov esi, ebx
lea edx, [edi + 0x10]
movzx ecx, byte [edx]
lea edx, [edx + 4]
movzx eax, byte [edx - 3]
shl eax, 0x10
shl ecx, 0x18
or ecx, eax
movzx eax, byte [edx - 2]
shl eax, 8
or ecx, eax
movzx eax, byte [edx - 1]
or ecx, eax
mov dword [ebp + esi*4 - 0x144], ecx
inc esi
cmp esi, 0x10
jl 0x415a56
cmp esi, 0x50
jge 0x415aad
push 0x50
pop edx
lea ecx, [ebp + esi*4 - 0x17c]
sub edx, esi
mov eax, dword [ecx + 0x2c]
xor eax, dword [ecx + 0x18]
xor eax, dword [ecx - 8]
xor eax, dword [ecx]
lea ecx, [ecx + 4]
rol eax, 1
mov dword [ecx + 0x34], eax
sub edx, 1
jne 0x415a95
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x5c]
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x148], eax
mov eax, dword [edi + 0x60]
mov edi, dword [ebp - 0x148]
mov dword [ebp - 0x14c], ecx
jmp 0x415ae2
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x150]
rol edx, 5
add edx, dword [ebp + ebx*4 - 0x144]
add edx, eax
cmp ebx, 0x14
jge 0x415b08
mov eax, ecx
xor eax, esi
and eax, edi
xor eax, ecx
add eax, 0x5a827999
jmp 0x415b47
cmp ebx, 0x28
jge 0x415b1a
mov eax, ecx
xor eax, esi
xor eax, edi
add eax, 0x6ed9eba1
jmp 0x415b47
cmp ebx, 0x3c
jge 0x415b3c
mov ecx, esi
mov eax, esi
or ecx, edi
and eax, edi
and ecx, dword [ebp - 0x14c]
or eax, ecx
mov ecx, dword [ebp - 0x14c]
add eax, 0x8f1bbcdc
jmp 0x415b47
mov eax, ecx
xor eax, esi
xor eax, edi
add eax, 0xca62c1d6
add eax, edx
mov dword [ebp - 0x14c], esi
mov edx, ecx
mov ecx, esi
mov esi, edi
mov dword [ebp - 0x148], edx
mov edi, dword [ebp - 0x150]
ror esi, 2
inc ebx
mov dword [ebp - 0x150], eax
cmp ebx, 0x50
jl 0x415adc
add eax, dword [ebp - 0x154]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x158]
add dword [edi + 0x5c], ecx
add dword [edi + 0x58], esi
add dword [edi + 0x60], edx
mov ecx, dword [ebp - 4]
mov dword [edi + 0x50], eax
xor ecx, ebp
mov eax, dword [ebp - 0x148]
add dword [edi + 0x54], eax
pop edi
pop esi
pop ebx
call fcn.0041686e
mov esp, ebp
pop ebp
ret

Function at 0x415bac
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], fcn.00415bac
mov dword [eax + 0x50], 0x67452301
mov dword [eax + 0x54], 0xefcdab89
mov dword [eax + 0x58], 0x98badcfe
mov dword [eax + 0x5c], 0x10325476
mov dword [eax + 0x60], 0xc3d2e1f0
and dword [eax + 8], 0
and dword [eax + 0xc], 0
pop ebp
ret
Function at 0x4258ac
Capabilities:
Contain obfuscated stackstrings

Disassembly:
pop ecx
xor eax, eax
lea edi, [ebp - 0x333]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x670], 4
and byte [ebp - 0x3c4], 0
movsd dword es:[edi], dword [esi]
cmp al, 0xfc
invalid
inc dword [eax]
and byte [ebp - 0x3c3], 0
mov byte [ebp - 0x3c2], 0x99
and byte [ebp - 0x3c1], 0
mov byte [ebp - 0x3c0], 0x21
mov byte [ebp - 0x3bf], 3
mov byte [ebp - 0x3be], 0x12
mov byte [ebp - 0x3bd], 0x2b
mov byte [ebp - 0x3bc], 9
mov byte [ebp - 0x3bb], 2
inc dword [edx]

Function at 0x425f34
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x364], 0x2c
mov byte [ebp - 0x363], 0x26
mov byte [ebp - 0x362], 0x21
mov byte [ebp - 0x361], 0x30
mov byte [ebp - 0x360], 0x38
mov byte [ebp - 0x35f], 0x11
mov byte [ebp - 0x35e], 0x3c
mov byte [ebp - 0x35d], 0x27
mov byte [ebp - 0x35c], 0x30
mov byte [ebp - 0x35b], 0x36
mov byte [ebp - 0x35a], 0x21
mov byte [ebp - 0x359], 0x3a
mov byte [ebp - 0x358], 0x27
mov byte [ebp - 0x357], 0x2c
mov byte [ebp - 0x356], 0x14
mov byte [ebp - 0x355], 0x55
lea eax, [ebp - 0x36c]
push eax
call fcn.00424fe3
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00424f98
add esp, 0xc
mov dword [ebp - 0x3d4], eax
call fcn.00424fd3
dec ebx
and al, 0x5b
push 0x104
Function at 0x260c058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.0260c1a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x260c07e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x260c06a
add dl, dl
jne 0x260c089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x260c0dc
xor eax, eax
add dl, dl
jne 0x260c096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x260c17d
add dl, dl
jne 0x260c0a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x260c0b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x260c0bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x260c0c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x260c0d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x260c075
mov eax, 1
add dl, dl
jne 0x260c0ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x260c0f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x260c0e1
sub eax, ebx
mov ebx, 1
jne 0x260c128
mov ecx, 1
add dl, dl
jne 0x260c10e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x260c119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x260c105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x260c075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x260c13f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x260c14a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x260c136
cmp eax, 0x7d00
jae 0x260c16d
cmp eax, 0x500
jb 0x260c168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x260c075
cmp eax, 0x7f
ja 0x260c170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x260c075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x260c19e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x260c075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10
Function at 0x4e4e80
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4e4ef0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4e4ef0
mov edx, dword [ebp + 0xc]
or eax, 0xffffffff
mov dword [edx], 0xffffffff
mov dword [edx + 4], eax
cmp dword [ebp - 4], 0
je 0x4e4ee4
cmp dword [ebp - 4], 0
jne 0x4e4ed0
mov dword [ebp - 8], 0
jmp 0x4e4edc
mov ecx, dword [ebp - 4]
add ecx, 0x1d4c0
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
jmp 0x4e4eeb
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0xc]
jmp 0x4e4f1d
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov cl, 0x20
call fcn.00404b33
xor ecx, ecx
add eax, dword [ebp - 0x10]
adc edx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x4eb020
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [ebp + 8], 0xa
jle 0x4eb036
mov eax, 0x4e22b
jmp 0x4eb1b4
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp + 0x14]
jb 0x4eb048
mov eax, 0x4e22b
jmp 0x4eb1b4
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 0
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
test edx, edx
je 0x4eb19c
mov eax, dword [ebp - 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0xc0
jne 0x4eb13a
mov dword [ebp - 0x14], 0
push 2
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 4]
push eax
call fcn.004eafc0
add esp, 0xc
push 0xc000
call fcn.00403927
add esp, 4
movzx ecx, ax
movzx edx, word [ebp - 4]
xor edx, ecx
mov word [ebp - 4], dx
movzx eax, word [ebp - 4]
push eax
call fcn.00402bda
add esp, 4
mov word [ebp - 4], ax
movzx ecx, word [ebp - 4]
mov edx, dword [ebp + 0x14]
sub edx, dword [ebp + 0xc]
cmp ecx, edx
jl 0x4eb0e2
mov eax, 0x4e22b
jmp 0x4eb1b4
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
movzx eax, word [ebp - 4]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 1
push edx
call fcn.004eb020
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4eb11a
mov eax, dword [ebp - 0x10]
jmp 0x4eb1b4
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp + 0x18]
mov dword [edx], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0x1c]
mov dword [edx], ecx
xor eax, eax
jmp 0x4eb1b4
mov eax, dword [ebp - 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
lea ecx, [eax + edx + 2]
cmp ecx, dword [ebp + 0x14]
jbe 0x4eb159
mov eax, 0x4e22b
jmp 0x4eb1b4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
lea ecx, [eax + edx + 1]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp + 0x18]
mov dword [eax], edx
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
test edx, edx
je 0x4eb18a
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
add edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
jmp 0x4eb060
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x4eb1c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [ebp + 8], 0xa
jle 0x4eb1d6
mov eax, 0x4e22b
jmp 0x4eb332
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp + 0x14]
jb 0x4eb1e8
mov eax, 0x4e22b
jmp 0x4eb332
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
movzx eax, byte [edx]
test eax, eax
je 0x4eb330
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0xc0
jne 0x4eb2a9
push 2
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.004eafc0
add esp, 0xc
push 0xc000
call fcn.00403927
add esp, 4
movzx edx, ax
movzx eax, word [ebp - 4]
xor eax, edx
mov word [ebp - 4], ax
movzx ecx, word [ebp - 4]
push ecx
call fcn.00402bda
add esp, 4
mov word [ebp - 4], ax
movzx edx, word [ebp - 4]
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
cmp edx, eax
jl 0x4eb269
mov eax, 0x4e22b
jmp 0x4eb332
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
movzx eax, word [ebp - 4]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 1
push edx
call fcn.004eb1c0
add esp, 0x14
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4eb29d
mov eax, dword [ebp - 0x10]
jmp 0x4eb332
xor eax, eax
jmp 0x4eb332
mov eax, dword [ebp - 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
lea ecx, [eax + edx + 2]
cmp ecx, dword [ebp + 0x14]
jbe 0x4eb2c8
mov eax, 0x4e22b
jmp 0x4eb332
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
add eax, 1
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x18]
add edx, dword [eax + 4]
push edx
call fcn.004eafc0
add esp, 0xc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 4]
add edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x18]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
lea eax, [edx + ecx + 1]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
test edx, edx
je 0x4eb32b
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 4]
mov byte [ecx + eax], 0x2e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 4]
add edx, 1
mov eax, dword [ebp + 0x18]
mov dword [eax + 4], edx
jmp 0x4eb1ee
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x657820
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1434
call fcn.00402103
mov eax, dword [0x7ab180]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
sar eax, 6
mov ecx, dword [ebp + 0xc]
and ecx, 0x3f
imul edx, ecx, 0x38
mov eax, dword [eax*4 + 0x7b5190]
mov ecx, dword [eax + edx + 0x18]
mov dword [ebp - 0x1434], ecx
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x1424], edx
xor eax, eax
mov dword [ebp - 0x1410], eax
mov dword [ebp - 0x140c], eax
mov dword [ebp - 0x1408], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1420], ecx
mov edx, dword [ebp - 0x1420]
cmp edx, dword [ebp - 0x1424]
jae 0x6579f8
lea eax, [ebp - 5]
mov dword [ebp - 0x1430], eax
lea ecx, [ebp - 0x1404]
mov dword [ebp - 0x1418], ecx
mov edx, dword [ebp - 0x1418]
cmp edx, dword [ebp - 0x1430]
jae 0x657947
mov eax, dword [ebp - 0x1420]
cmp eax, dword [ebp - 0x1424]
jae 0x657947
mov ecx, dword [ebp - 0x1420]
mov dl, byte [ecx]
mov byte [ebp - 0x1419], dl
mov eax, dword [ebp - 0x1420]
add eax, 1
mov dword [ebp - 0x1420], eax
mov cl, byte [ebp - 0x1419]
mov byte [ebp - 0x1411], cl
movsx edx, byte [ebp - 0x1411]
cmp edx, 0xa
jne 0x657925
mov eax, dword [ebp - 0x1408]
add eax, 1
mov dword [ebp - 0x1408], eax
mov ecx, dword [ebp - 0x1418]
mov byte [ecx], 0xd
mov edx, dword [ebp - 0x1418]
add edx, 1
mov dword [ebp - 0x1418], edx
mov eax, dword [ebp - 0x1418]
mov cl, byte [ebp - 0x1411]
mov byte [eax], cl
mov edx, dword [ebp - 0x1418]
add edx, 1
mov dword [ebp - 0x1418], edx
jmp 0x6578a9
mov eax, dword [ebp - 0x1418]
lea ecx, [ebp - 0x1404]
sub eax, ecx
mov dword [ebp - 0x142c], eax
push 0
lea edx, [ebp - 0x1428]
push edx
mov eax, dword [ebp - 0x142c]
push eax
lea ecx, [ebp - 0x1404]
push ecx
mov edx, dword [ebp - 0x1434]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x6579b1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1410], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1410]
mov dword [eax], ecx
mov edx, dword [ebp - 0x140c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1408]
mov dword [eax + 8], ecx
mov eax, dword [ebp + 8]
jmp 0x657a18
mov edx, dword [ebp - 0x140c]
add edx, dword [ebp - 0x1428]
mov dword [ebp - 0x140c], edx
mov eax, dword [ebp - 0x1428]
cmp eax, dword [ebp - 0x142c]
jae 0x6579f3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1410]
mov dword [ecx], edx
mov eax, dword [ebp - 0x140c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1408]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
jmp 0x657a18
jmp 0x657882
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1410]
mov dword [eax], ecx
mov edx, dword [ebp - 0x140c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1408]
mov dword [eax + 8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403751
mov esp, ebp
pop ebp
ret
Function at 0x657ab0
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1434
call fcn.00402103
mov eax, dword [0x7ab180]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
sar eax, 6
mov ecx, dword [ebp + 0xc]
and ecx, 0x3f
imul edx, ecx, 0x38
mov eax, dword [eax*4 + 0x7b5190]
mov ecx, dword [eax + edx + 0x18]
mov dword [ebp - 0x1434], ecx
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x1424], edx
xor eax, eax
mov dword [ebp - 0x1410], eax
mov dword [ebp - 0x140c], eax
mov dword [ebp - 0x1408], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x141c], ecx
mov edx, dword [ebp - 0x141c]
cmp edx, dword [ebp - 0x1424]
jae 0x657c9b
lea eax, [ebp - 6]
mov dword [ebp - 0x1430], eax
lea ecx, [ebp - 0x1404]
mov dword [ebp - 0x1414], ecx
mov edx, dword [ebp - 0x1414]
cmp edx, dword [ebp - 0x1430]
jae 0x657be6
mov eax, dword [ebp - 0x141c]
cmp eax, dword [ebp - 0x1424]
jae 0x657be6
mov ecx, dword [ebp - 0x141c]
mov dx, word [ecx]
mov word [ebp - 0x141e], dx
mov eax, dword [ebp - 0x141c]
add eax, 2
mov dword [ebp - 0x141c], eax
mov cx, word [ebp - 0x141e]
mov word [ebp - 0x1418], cx
movzx edx, word [ebp - 0x1418]
cmp edx, 0xa
jne 0x657bc2
mov eax, dword [ebp - 0x1408]
add eax, 2
mov dword [ebp - 0x1408], eax
mov ecx, 0xd
mov edx, dword [ebp - 0x1414]
mov word [edx], cx
mov eax, dword [ebp - 0x1414]
add eax, 2
mov dword [ebp - 0x1414], eax
mov ecx, dword [ebp - 0x1414]
mov dx, word [ebp - 0x1418]
mov word [ecx], dx
mov eax, dword [ebp - 0x1414]
add eax, 2
mov dword [ebp - 0x1414], eax
jmp 0x657b39
mov ecx, dword [ebp - 0x1414]
lea edx, [ebp - 0x1404]
sub ecx, edx
sar ecx, 1
shl ecx, 1
mov dword [ebp - 0x142c], ecx
push 0
lea eax, [ebp - 0x1428]
push eax
mov ecx, dword [ebp - 0x142c]
push ecx
lea edx, [ebp - 0x1404]
push edx
mov eax, dword [ebp - 0x1434]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x657c54
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1410], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1410]
mov dword [ecx], edx
mov eax, dword [ebp - 0x140c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1408]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
jmp 0x657cbb
mov eax, dword [ebp - 0x140c]
add eax, dword [ebp - 0x1428]
mov dword [ebp - 0x140c], eax
mov ecx, dword [ebp - 0x1428]
cmp ecx, dword [ebp - 0x142c]
jae 0x657c96
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1410]
mov dword [edx], eax
mov ecx, dword [ebp - 0x140c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1408]
mov dword [edx + 8], eax
mov eax, dword [ebp + 8]
jmp 0x657cbb
jmp 0x657b12
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1410]
mov dword [ecx], edx
mov eax, dword [ebp - 0x140c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1408]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403751
mov esp, ebp
pop ebp
ret