joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4810c0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0xc
mov eax, dword [0x53f5a0]
xor eax, esp
mov dword [esp + 8], eax
push ebx
push ebp
mov ebp, dword [esp + 0x20]
push esi
push 0x4c
call fcn.004cc39d
mov esi, eax
xor ebx, ebx
add esp, 4
cmp esi, ebx
jne 0x481106
cmp ebp, ebx
je 0x4810f2
mov dword [ebp], 0x6d
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.004cc2b1
add esp, 0xc
ret
push edi
push 0x4c
push ebx
push esi
call fcn.004d3360
push 0x614c
push 1
mov dword [esi + 0x34], ebx
mov dword [esi + 0x14], ebx
call fcn.004d0b61
mov edi, eax
add esp, 0x14
cmp edi, ebx
jne 0x481154
cmp ebp, ebx
je 0x481136
mov dword [ebp], 0x6d
push esi
call fcn.004cc2c0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.004cc2b1
add esp, 0xc
ret
push 0x614c
push ebx
push edi
call fcn.004d3360
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0x48], edi
mov dword [edi + 4], ebx
mov dword [edi + 0x38], ebx
mov dword [edi], 8
mov dword [edi + 0x3c], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x44], ecx
mov ecx, dword [eax + 0x3c]
add esp, 0xc
cmp ecx, ebx
je 0x481199
push 6
lea edx, [esp + 0x14]
push edx
push esi
call ecx
add esp, 0xc
jmp 0x4811ae
mov eax, dword [eax + 0x38]
push eax
push 6
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.004d03c9
add esp, 0x10
cmp eax, 6
je 0x4811c0
cmp ebp, ebx
je 0x4811e7
mov dword [ebp], 0x66
jmp 0x4811e7
push 3
lea edx, [esp + 0x14]
push edx
push str.GIFVER
mov byte [esp + 0x22], bl
call fcn.004d24ed
add esp, 0xc
test eax, eax
je 0x48120b
cmp ebp, ebx
je 0x4811e7
mov dword [ebp], 0x67
push edi
call fcn.004cc2c0
push esi
call fcn.004cc2c0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.004cc2b1
add esp, 0xc
ret
mov ebx, esi
call fcn.00481280
test eax, eax
jne 0x481245
push edi
call fcn.004cc2c0
push esi
call fcn.004cc2c0
add esp, 8
test ebp, ebp
je 0x481230
mov dword [ebp], 0x68
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.004cc2b1
add esp, 0xc
ret
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [esi + 0x40], 0
cmp byte [esp + 0x13], 0x39
sete al
mov dword [edi + 0x6148], eax
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cc2b1
add esp, 0xc
ret
Function at 0x481280
Capabilities:
Read file on windows

Disassembly:
push ecx
mov eax, dword [ebx + 0x48]
test byte [eax], 8
jne 0x481294
mov dword [ebx + 0x40], 0x6f
xor eax, eax
pop ecx
ret
push esi
push ebx
mov esi, ebx
call fcn.004819d0
add esp, 4
test eax, eax
je 0x48142e
lea ecx, [ebx + 4]
push ecx
call fcn.004819d0
add esp, 4
test eax, eax
je 0x48142e
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + 0x3c]
push edi
xor edi, edi
cmp ecx, edi
je 0x4812d8
push 3
lea edx, [esp + 0xc]
push edx
push ebx
call ecx
add esp, 0xc
jmp 0x4812ed
mov eax, dword [eax + 0x38]
push eax
push 3
lea ecx, [esp + 0x10]
push 1
push ecx
call fcn.004d03c9
add esp, 0x10
cmp eax, 3
je 0x48131b
mov esi, dword [ebx + 0x14]
mov dword [ebx + 0x40], 0x66
cmp esi, edi
je 0x481312
mov edx, dword [esi + 0xc]
push edx
call fcn.004cc2c0
push esi
call fcn.004cc2c0
add esp, 8
mov dword [ebx + 0x14], edi
pop edi
xor eax, eax
pop esi
pop ecx
ret
mov dl, byte [esp + 8]
movzx eax, dl
mov ecx, eax
mov esi, eax
shr ecx, 4
and eax, 7
and ecx, 7
inc eax
inc ecx
push ebp
shr esi, 3
mov ebp, eax
movzx eax, byte [esp + 0xd]
mov dword [ebx + 8], ecx
mov cl, byte [esp + 0xe]
and esi, 1
mov dword [ebx + 0xc], eax
mov byte [ebx + 0x10], cl
test dl, dl
jns 0x481421
push edi
mov ecx, ebp
mov edi, 1
shl edi, cl
call fcn.00481fe0
add esp, 4
mov dword [ebx + 0x14], eax
test eax, eax
jne 0x481379
pop ebp
pop edi
mov dword [ebx + 0x40], 0x6d
pop esi
pop ecx
ret
mov dword [eax + 8], esi
mov edx, dword [ebx + 0x14]
xor edi, edi
cmp dword [edx], edi
jle 0x481424
xor esi, esi
jmp 0x481390
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x4813a9
push 3
lea eax, [esp + 0x10]
push eax
push ebx
call ecx
add esp, 0xc
jmp 0x4813be
mov ecx, dword [eax + 0x38]
push ecx
push 3
lea edx, [esp + 0x14]
push 1
push edx
call fcn.004d03c9
add esp, 0x10
cmp eax, 3
jne 0x481404
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0xc]
movzx edx, byte [esp + 0xc]
mov byte [esi + ecx], dl
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0xc]
movzx edx, byte [esp + 0xd]
mov byte [ecx + esi + 1], dl
mov eax, dword [ebx + 0x14]
movzx edx, byte [esp + 0xe]
mov ecx, dword [eax + 0xc]
mov byte [ecx + esi + 2], dl
mov eax, dword [ebx + 0x14]
inc edi
add esi, 3
cmp edi, dword [eax]
jl 0x481390
pop ebp
pop edi
mov eax, 1
pop esi
pop ecx
ret
mov esi, dword [ebx + 0x14]
call fcn.00482070
pop ebp
pop edi
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x40], 0x66
xor eax, eax
pop esi
pop ecx
ret
mov dword [ebx + 0x14], edi
pop ebp
pop edi
mov eax, 1
pop esi
pop ecx
ret
xor eax, eax
pop esi
pop ecx
ret
Function at 0x481440
Capabilities:
Read file on windows

Disassembly:
push ecx
mov eax, dword [esi + 0x48]
test byte [eax], 8
jne 0x481454
mov dword [esi + 0x40], 0x6f
xor eax, eax
pop ecx
ret
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x48146a
push 1
lea eax, [esp + 7]
push eax
push esi
call ecx
add esp, 0xc
jmp 0x48147f
mov ecx, dword [eax + 0x38]
push ecx
push 1
lea edx, [esp + 0xb]
push 1
push edx
call fcn.004d03c9
add esp, 0x10
cmp eax, 1
je 0x48148f
mov dword [esi + 0x40], 0x66
xor eax, eax
pop ecx
ret
mov al, byte [esp + 3]
cmp al, 0x21
je 0x4814ca
cmp al, 0x2c
je 0x4814bd
cmp al, 0x3b
je 0x4814b0
mov dword [edi], 0
mov dword [esi + 0x40], 0x6b
xor eax, eax
pop ecx
ret
mov dword [edi], 4
mov eax, 1
pop ecx
ret
mov dword [edi], 2
mov eax, 1
pop ecx
ret
mov dword [edi], 3
mov eax, 1
pop ecx
ret
Function at 0x4817c0
Capabilities:
Read file on windows

Disassembly:
push ecx
push esi
mov esi, eax
mov eax, dword [esi + 0x48]
test byte [eax], 8
jne 0x4817d8
mov dword [esi + 0x40], 0x6f
xor eax, eax
pop esi
pop ecx
ret
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x4817ee
push 1
lea eax, [esp + 0xb]
push eax
push esi
call ecx
add esp, 0xc
jmp 0x481803
mov ecx, dword [eax + 0x38]
push ecx
push 1
lea edx, [esp + 0xf]
push 1
push edx
call fcn.004d03c9
add esp, 0x10
cmp eax, 1
je 0x481814
mov dword [esi + 0x40], 0x66
xor eax, eax
pop esi
pop ecx
ret
movzx eax, byte [esp + 7]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
call fcn.00481830
pop esi
pop ecx
ret

Function at 0x481830
Capabilities:
Read file on windows

Disassembly:
push ecx
push edi
mov edi, dword [esi + 0x48]
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x48184b
push 1
lea ecx, [esp + 0xb]
push ecx
push esi
call eax
add esp, 0xc
jmp 0x481860
mov edx, dword [edi + 0x38]
push edx
push 1
lea eax, [esp + 0xf]
push 1
push eax
call fcn.004d03c9
add esp, 0x10
cmp eax, 1
jne 0x4818ac
mov cl, byte [esp + 7]
test cl, cl
jbe 0x4818b8
lea eax, [edi + 0x44]
mov byte [eax], cl
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x3c]
mov dword [ebx], eax
inc eax
test edx, edx
je 0x48188e
movzx ecx, byte [esp + 7]
push ecx
push eax
push esi
call edx
add esp, 0xc
jmp 0x4818a3
mov edx, dword [ecx + 0x38]
movzx ecx, byte [esp + 7]
push edx
push ecx
push 1
push eax
call fcn.004d03c9
add esp, 0x10
movzx edx, byte [esp + 7]
cmp eax, edx
je 0x4818be
mov dword [esi + 0x40], 0x66
xor eax, eax
pop edi
pop ecx
ret
mov dword [ebx], 0
mov eax, 1
pop edi
pop ecx
ret

Function at 0x4819d0
Capabilities:
Read file on windows

Disassembly:
push ecx
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x4819ea
push 2
lea eax, [esp + 4]
push eax
push esi
call ecx
add esp, 0xc
jmp 0x4819ff
mov ecx, dword [eax + 0x38]
push ecx
push 2
lea edx, [esp + 8]
push 1
push edx
call fcn.004d03c9
add esp, 0x10
cmp eax, 2
je 0x481a0f
mov dword [esi + 0x40], 0x66
xor eax, eax
pop ecx
ret
mov ax, word [esp]
movzx ecx, ah
movzx edx, al
mov eax, dword [esp + 8]
shl ecx, 8
or ecx, edx
mov dword [eax], ecx
mov eax, 1
pop ecx
ret
Function at 0x481a30
Capabilities:
Read file on windows

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov esi, dword [edi + 0x48]
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x481a50
push 1
lea ecx, [esp + 0xf]
push ecx
push edi
call eax
add esp, 0xc
jmp 0x481a65
mov edx, dword [esi + 0x38]
push edx
push 1
lea eax, [esp + 0x13]
push 1
push eax
call fcn.004d03c9
add esp, 0x10
cmp eax, 1
jne 0x481ab2
mov cl, byte [esp + 0xb]
test cl, cl
jbe 0x481abf
lea eax, [esi + 0x44]
mov byte [eax], cl
mov ecx, dword [edi + 0x48]
mov edx, dword [ecx + 0x3c]
mov dword [ebp], eax
inc eax
test edx, edx
je 0x481a94
movzx ecx, byte [esp + 0xb]
push ecx
push eax
push edi
call edx
add esp, 0xc
jmp 0x481aa9
mov edx, dword [ecx + 0x38]
movzx ecx, byte [esp + 0xb]
push edx
push ecx
push 1
push eax
call fcn.004d03c9
add esp, 0x10
movzx edx, byte [esp + 0xb]
cmp eax, edx
je 0x481ad1
pop esi
mov dword [edi + 0x40], 0x66
xor eax, eax
pop ebp
pop ecx
ret
mov dword [ebp], 0
mov byte [esi + 0x44], 0
mov dword [esi + 0x34], 0
pop esi
mov eax, 1
pop ebp
pop ecx
ret

Function at 0x481ae0
Capabilities:
Read file on windows

Disassembly:
push ecx
push ebx
push esi
push edi
mov edi, eax
mov esi, dword [edi + 0x48]
mov eax, dword [esi + 0x3c]
xor ebx, ebx
cmp eax, ebx
je 0x481b01
push 1
lea ecx, [esp + 0x13]
push ecx
push edi
call eax
add esp, 0xc
jmp 0x481b16
mov edx, dword [esi + 0x38]
push edx
push 1
lea eax, [esp + 0x17]
push 1
push eax
call fcn.004d03c9
add esp, 0x10
cmp eax, 1
jb 0x481b2c
movzx ecx, byte [esp + 0xf]
cmp ecx, 8
jle 0x481b33
mov dword [edi + 0x40], 0x66
pop edi
pop esi
xor eax, eax
pop ebx
pop ecx
ret
mov eax, 1
shl eax, cl
mov dword [esi + 8], ecx
inc ecx
mov edx, 1
mov dword [esi + 0xc], eax
inc eax
mov dword [esi + 0x10], eax
inc eax
shl edx, cl
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ecx
mov eax, 0x1002
mov byte [esi + 0x44], bl
mov dword [esi + 0x28], ebx
mov dword [esi + 0x20], eax
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
lea edi, [esi + 0x2144]
mov dword [esi + 0x1c], edx
mov ecx, 0x1000
rep stosd dword es:[edi], eax
pop edi
pop esi
mov eax, 1
pop ebx
pop ecx
ret
Function at 0x481f00
Capabilities:
Read file on windows

Disassembly:
mov cl, byte [esi]
push ebp
mov ebp, dword [esp + 8]
push edi
test cl, cl
jne 0x481fa3
mov ecx, dword [ebx + 0x48]
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x481f25
push 1
push esi
push ebx
call eax
add esp, 0xc
jmp 0x481f36
mov eax, dword [ecx + 0x38]
push eax
push 1
push 1
push esi
call fcn.004d03c9
add esp, 0x10
cmp eax, 1
je 0x481f47
pop edi
mov dword [ebx + 0x40], 0x66
xor eax, eax
pop ebp
ret
mov al, byte [esi]
test al, al
jne 0x481f59
pop edi
mov dword [ebx + 0x40], 0x70
xor eax, eax
pop ebp
ret
mov ecx, dword [ebx + 0x48]
mov edx, dword [ecx + 0x3c]
lea edi, [esi + 1]
test edx, edx
je 0x481f73
movzx ecx, al
push ecx
push edi
push ebx
call edx
add esp, 0xc
jmp 0x481f86
mov edx, dword [ecx + 0x38]
push edx
movzx eax, al
push eax
push 1
push edi
call fcn.004d03c9
add esp, 0x10
mov cl, byte [esi]
movzx edx, cl
cmp eax, edx
jne 0x481f3b
mov al, byte [edi]
mov byte [edi], 2
mov byte [ebp], al
dec cl
pop edi
mov byte [esi], cl
mov eax, 1
pop ebp
ret
mov al, byte [esi + 1]
movzx edx, al
mov dl, byte [edx + esi]
inc al
dec cl
pop edi
mov byte [ebp], dl
mov byte [esi + 1], al
mov byte [esi], cl
mov eax, 1
pop ebp
ret
Function at 0x4821b0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x508eb8
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x53f5a0]
xor eax, esp
mov dword [esp + 0x24], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f5a0]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x4c]
mov esi, dword [ebp + 4]
xor ebx, ebx
mov edi, ecx
cmp esi, ebx
je 0x482204
mov ecx, esi
call fcn.004c8200
push esi
call fcn.004ce6dd
add esp, 4
mov dword [ebp + 4], ebx
cmp edi, ebx
je 0x482318
push ebx
push 0x52b9f1
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.004095e0
mov dword [esp + 0x44], ebx
cmp byte [ebp], bl
jne 0x48231c
push 0x520e78
lea eax, [esp + 0x1c]
push edi
push eax
mov dword [esp + 0x24], ebx
call fcn.004ce7c5
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
je 0x482304
push 2
push ebx
push eax
call fcn.004d068b
mov ecx, dword [esp + 0x24]
add esp, 0xc
push ecx
call fcn.004d0593
mov edx, dword [esp + 0x1c]
add esp, 4
push ebx
push ebx
push edx
mov esi, eax
call fcn.004d068b
lea eax, [esi + 1]
add esp, 0xc
push eax
call fcn.004cf7ac
mov edi, eax
add esp, 4
mov byte [edi + esi], bl
mov ecx, dword [esp + 0x18]
push ecx
push esi
push 1
push edi
call fcn.004d03c9
add esp, 0x10
cmp eax, esi
jne 0x4822b5
push edi
lea ecx, [esp + 0x20]
call fcn.004826f0
mov edx, dword [esp + 0x18]
push edx
call fcn.004cf613
add esp, 4
push edi
call fcn.004cf7a1
mov eax, dword [esp + 0x24]
mov esi, 0x10
add esp, 4
cmp dword [esp + 0x34], esi
jae 0x4822de
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x30]
push ecx
push eax
mov eax, ebp
call fcn.00482360
mov bl, al
cmp dword [esp + 0x34], esi
jb 0x482300
mov edx, dword [esp + 0x20]
push edx
call fcn.004ce6dd
add esp, 4
mov al, bl
jmp 0x482332
cmp dword [esp + 0x34], 0x10
jb 0x482318
mov eax, dword [esp + 0x20]
push eax
call fcn.004ce6dd
add esp, 4
xor al, al
jmp 0x482332
cmp dword [esp + 0x34], 0x10
jb 0x482330
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004ce6dd
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004cc2b1
add esp, 0x34
ret 4
Function at 0x4853b0
Capabilities:
Write file on windows

Disassembly:
push ecx
push 0x52b5fc
push eax
lea ecx, [esp + 8]
push ecx
call fcn.004ce7c5
add esp, 0xc
test eax, eax
je 0x4853d9
push str.cant_open_file_for_write___r_n
call fcn.004d5751
add esp, 4
xor al, al
pop ecx
ret
mov edx, dword [esp]
push edx
push 1
lea eax, [esi + 0x108]
push 4
push eax
call fcn.004d2c6d
add esp, 0x10
cmp eax, 1
je 0x485410
push str.write_checknum_failed___r_n
call fcn.004d5751
mov ecx, dword [esp + 4]
push ecx
call fcn.004cf613
add esp, 8
xor al, al
pop ecx
ret
mov edx, dword [esp]
push edi
push edx
push 1
lea edi, [esi + 0x104]
push 4
push edi
call fcn.004d2c6d
add esp, 0x10
cmp eax, 1
je 0x485449
push str.write_configsize_failed___r_n
call fcn.004d5751
mov eax, dword [esp + 8]
push eax
call fcn.004cf613
add esp, 8
xor al, al
pop edi
pop ecx
ret
mov ecx, dword [esp + 4]
mov edx, dword [edi]
mov eax, dword [esi]
push ecx
push 1
push edx
push eax
call fcn.004d2c6d
add esp, 0x10
cmp eax, 1
jne 0x485481
mov edx, dword [esp + 4]
mov edi, dword [esi + 4]
push edx
push eax
mov eax, dword [esi + 0x100]
push eax
push edi
call fcn.004d2c6d
add esp, 0x10
cmp eax, 1
je 0x48549d
push str.write_header_failed___r_n
call fcn.004d5751
mov ecx, dword [esp + 8]
push ecx
call fcn.004cf613
add esp, 8
xor al, al
pop edi
pop ecx
ret
mov edx, dword [esp + 4]
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
push edx
push eax
push 1
push ecx
call fcn.004d2c6d
add esp, 0x10
cmp eax, dword [edi + 8]
je 0x4854d5
push str.write_item_failed___r_n
call fcn.004d5751
mov edx, dword [esp + 8]
push edx
call fcn.004cf613
add esp, 8
xor al, al
pop edi
pop ecx
ret
mov eax, dword [esp + 4]
push eax
call fcn.004cf613
add esp, 4
mov al, 1
pop edi
pop ecx
ret
Function at 0x4865c0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x50a818
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f5a0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, edx
mov dword [esp + 0x38], 0
mov esi, dword [edi + 0x10]
mov ebp, dword [edi + 0xc]
mov ecx, esi
sub ecx, ebp
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jbe 0x486646
cmp ebp, esi
jbe 0x48661b
call fcn.004cf9bd
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
push esi
push eax
lea eax, [esp + 0x48]
push eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
push ebx
push edi
call fcn.00487150
jmp 0x486693
jae 0x486693
cmp ebp, esi
jbe 0x486651
call fcn.004cf9bd
mov ebp, dword [edi + 0xc]
mov edx, dword [edi]
mov dword [esp + 0x20], edx
cmp ebp, dword [edi + 0x10]
jbe 0x486664
call fcn.004cf9bd
mov eax, dword [edi]
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], eax
push ecx
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], ebp
call fcn.00487520
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push esi
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x30]
push eax
call fcn.004866e0
mov eax, dword [esp + 0x4c]
xor esi, esi
cmp eax, esi
je 0x4866a6
push eax
call fcn.004ce6dd
add esp, 4
mov ecx, dword [esp + 0x40]
push ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
call fcn.004ce6dd
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0x18

Function at 0x488df0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push esi
mov esi, dword [esp + 0xc]
test esi, esi
jne 0x488e05
mov esi, dword [eax]
test esi, esi
jne 0x488e05
xor eax, eax
pop esi
ret 8
push edi
push ecx
push edx
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x488e21
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x488e28
pop edi
xor eax, eax
pop esi
ret 8
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, ebx
pop ebx
pop edi
pop esi
ret 8
Function at 0x489870
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push ecx
push esi
push edi
call fcn.0048e360
cmp eax, 6
mov esi, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
jge 0x489887
mov esi, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider__Prototype_
mov edi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
push 0
push 0x18
push esi
push str.SEContainer
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], 0
call edi
test eax, eax
jne 0x4898d3
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
push 8
push 0x18
push esi
push str.SEContainer
lea ecx, [esp + 0x1c]
push ecx
call edi
test eax, eax
jne 0x4898ca
call ebx
mov eax, dword [esp + 0xc]
pop ebx
pop edi
pop esi
pop ecx
ret
mov eax, dword [esp + 8]
pop edi
pop esi
pop ecx
ret

Function at 0x4898e0
Capabilities:
Encrypt data using aes via winapi

Disassembly:
sub esp, 0x3c
mov eax, dword [0x53f5a0]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push esi
mov esi, ecx
push edi
mov ebx, edx
test esi, esi
jne 0x4898fe
mov esi, str.vc8v7vghw7v278vn2v8239vh29vh890m
test ebx, ebx
jne 0x489907
mov ebx, str.aqkeezgxijvlm2op
xor eax, eax
mov ecx, 8
mov byte [esp + 0x18], cl
mov word [esp + 0x1a], ax
mov byte [esp + 0x19], 2
mov dword [esp + 0x1c], 0x6610
mov dword [esp + 0x20], 0x20
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xc]
push ecx
push eax
push eax
mov eax, dword [esp + 0x58]
push 0x2c
lea edx, [esp + 0x28]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x489991
mov esi, dword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
push 0
lea ecx, [esp + 0x14]
push ecx
push 4
mov edi, 1
push eax
mov dword [esp + 0x20], edi
call esi
mov eax, dword [esp + 0xc]
push 0
lea edx, [esp + 0x18]
push edx
push 3
push eax
mov dword [esp + 0x24], edi
call esi
mov ecx, dword [esp + 0xc]
push 0
push ebx
push edi
push ecx
call esi
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004cc2b1
add esp, 0x3c
ret
Function at 0x4899b0
Capabilities:
Encrypt or decrypt via wincrypt

Disassembly:
cmp dword [esp + 4], 0
je 0x489a61
cmp dword [esp + 8], 0xffffffff
je 0x489a61
push ebp
push esi
xor esi, esi
call fcn.00489870
mov ebp, eax
test ebp, ebp
je 0x489a5c
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push ebx
push ebp
call fcn.004898e0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x489a52
mov eax, dword [esp + 0x14]
push edi
test al, 0xf
je 0x489a05
shr eax, 4
inc eax
shl eax, 4
mov edi, eax
jmp 0x489a08
lea edi, [eax + 0x10]
push edi
call fcn.004cf7ac
push edi
mov esi, eax
push 0
push esi
call fcn.004d3360
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push esi
call fcn.004d33e0
add esp, 0x1c
push edi
lea edx, [esp + 0x1c]
push edx
push esi
push 0
push 1
push 0
push ebx
call dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push ebx
mov dword [ecx], eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
pop edi
push 0
push ebp
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop ebx
mov eax, esi
pop esi
pop ebp
ret
xor eax, eax
ret

Function at 0x489a70
Capabilities:
Encrypt or decrypt via wincrypt

Disassembly:
cmp dword [esp + 4], 0
je 0x489b23
cmp dword [esp + 8], 0xffffffff
je 0x489b23
push ebp
push esi
push edi
xor esi, esi
call fcn.00489870
mov ebp, eax
test ebp, ebp
je 0x489b1d
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push ebp
call fcn.004898e0
mov edi, eax
add esp, 4
test edi, edi
je 0x489b14
mov eax, dword [esp + 0x14]
push ebx
push eax
mov ebx, eax
call fcn.004cf7ac
push ebx
mov esi, eax
push 0
push esi
call fcn.004d3360
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push esi
call fcn.004d33e0
add esp, 0x1c
lea edx, [esp + 0x18]
push edx
push esi
push 0
push 1
push 0
push edi
call dword [sym.imp.ADVAPI32.dll_CryptDecrypt]
pop ebx
test eax, eax
jne 0x489b03
push esi
call fcn.004cf7a1
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebp
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push edi
mov dword [ecx], eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push 0
push ebp
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop edi
mov eax, esi
pop esi
pop ebp
ret
xor eax, eax
ret