joyce8/EMBER2024-capa huggingface dataset:
Function at 0x2bd7220
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2bd7436
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xcc]
cmp ecx, 6
jne 0x2bd72b9
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0xcbbb9d5d
mov dword [eax + 8], 0x367cd507
mov dword [eax + 0xc], 0x629a292a
mov dword [eax + 0x10], 0x3070dd17
mov dword [eax + 0x14], 0x9159015a
mov dword [eax + 0x18], 0xf70e5939
mov dword [eax + 0x1c], 0x152fecd8
mov dword [eax + 0x20], 0xffc00b31
mov dword [eax + 0x24], 0x67332667
mov dword [eax + 0x28], 0x68581511
mov dword [eax + 0x2c], 0x8eb44a87
mov dword [eax + 0x30], 0x64f98fa7
mov dword [eax + 0x34], 0xdb0c2e0d
mov dword [eax + 0x38], 0xbefa4fa4
mov dword [eax + 0x3c], 0x47b5481d
jmp 0x2bd7417
cmp ecx, 0xe
jne 0x2bd7332
mov dword [eax], 0x19544da2
mov dword [eax + 4], 0x8c3d37c8
mov dword [eax + 8], 0x89dcd4d6
mov dword [eax + 0xc], 0x73e19966
mov dword [eax + 0x10], 0x32ff9c82
mov dword [eax + 0x14], 0x1dfab7ae
mov dword [eax + 0x18], 0x582f9fcf
mov dword [eax + 0x1c], 0x679dd514
mov dword [eax + 0x20], 0x7bd44da8
mov dword [eax + 0x24], 0xf6d2b69
mov dword [eax + 0x28], 0x4c48942
mov dword [eax + 0x2c], 0x77e36f73
mov dword [eax + 0x30], 0x6a1d36c8
mov dword [eax + 0x34], 0x3f9d85a8
mov dword [eax + 0x38], 0x91d692a1
mov dword [eax + 0x3c], 0x1112e6ad
jmp 0x2bd7417
cmp ecx, 0xf
jne 0x2bd73a8
mov dword [eax], 0xfc2bf72c
mov dword [eax + 4], 0x22312194
mov dword [eax + 8], 0xc84c64c2
mov dword [eax + 0xc], 0x9f555fa3
mov dword [eax + 0x10], 0x6f53b151
mov dword [eax + 0x14], 0x2393b86b
mov dword [eax + 0x18], 0x5940eabd
mov dword [eax + 0x1c], 0x96387719
mov dword [eax + 0x20], 0xa88effe3
mov dword [eax + 0x24], 0x96283ee2
mov dword [eax + 0x28], 0x53863992
mov dword [eax + 0x2c], 0xbe5e1e25
mov dword [eax + 0x30], 0x2c85b8aa
mov dword [eax + 0x34], 0x2b0199fc
mov dword [eax + 0x38], 0x81c52ca2
mov dword [eax + 0x3c], 0xeb72ddc
jmp 0x2bd7417
mov dword [eax], 0xf3bcc908
mov dword [eax + 4], 0x6a09e667
mov dword [eax + 8], 0x84caa73b
mov dword [eax + 0xc], 0xbb67ae85
mov dword [eax + 0x10], 0xfe94f82b
mov dword [eax + 0x14], 0x3c6ef372
mov dword [eax + 0x18], 0x5f1d36f1
mov dword [eax + 0x1c], 0xa54ff53a
mov dword [eax + 0x20], 0xade682d1
mov dword [eax + 0x24], 0x510e527f
mov dword [eax + 0x28], 0x2b3e6c1f
mov dword [eax + 0x2c], 0x9b05688c
mov dword [eax + 0x30], 0xfb41bd6b
mov dword [eax + 0x34], 0x1f83d9ab
mov dword [eax + 0x38], 0x137e2179
mov dword [eax + 0x3c], 0x5be0cd19
mov dword [eax + 0xc0], 0
mov dword [eax + 0xc4], 0
mov dword [eax + 0xc8], 0
ret
call fcn.02b3d440
jmp fcn.02bd7220
Function at 0x2be5a10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2be5bc8
sub esp, 0x34
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
mov byte [esp + 8], 2
call fcn.02be62a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x2be5aa1
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
test ecx, ecx
je 0x2be5aa1
cmp ecx, 1
je 0x2be5a94
movzx ebx, byte [edx]
test bl, bl
jne 0x2be5a86
movzx ebp, byte [edx + 1]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
je 0x2be5aa1
cmp bl, 0xff
jne 0x2be5a94
movzx ebx, byte [edx + 1]
test bl, 0x80
jne 0x2be5aa1
cmp ecx, 8
jg 0x2be5aaa
mov ebx, dword [esp + 0x3c]
xor eax, eax
jmp 0x2be5ac1
mov byte [esp + 0x40], 0
add esp, 0x34
ret
jg 0x2be5aa1
mov byte [esp + 0x40], 1
add esp, 0x34
ret
movzx esi, byte [edx + eax]
or esi, ebp
mov dword [ebx], esi
mov dword [ebx + 4], edi
inc eax
cmp eax, ecx
jge 0x2be5ae5
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov edi, ebp
shl ebp, 8
mov dword [ebx], ebp
shl esi, 8
shr edi, 0x18
or edi, esi
mov dword [ebx + 4], edi
cmp eax, ecx
jb 0x2be5ab5
jmp 0x2be5bc2
mov dword [esp + 0x14], ecx
shl ecx, 3
lea edx, [ecx - 0x40]
neg edx
mov byte [esp + 0x13], dl
cmp dl, 0x20
sbb ebp, ebp
mov dword [esp + 0x24], ebp
add ecx, 0xffffffe0
mov esi, ecx
neg ecx
mov byte [esp + 0x12], cl
cmp cl, 0x20
sbb edi, edi
mov dword [esp + 0x20], edi
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb eax, eax
mov dword [esp + 0x1c], eax
mov edi, dword [ebx]
mov dword [esp + 0x18], edi
mov ebx, dword [ebx + 4]
shl edi, cl
mov ecx, edx
shl ebx, cl
and ebx, ebp
mov ecx, esi
mov ebp, dword [esp + 0x18]
shr ebp, cl
and ebp, eax
or ebp, ebx
mov ebx, dword [esp + 0x20]
and ebx, edi
or ebp, ebx
mov ebx, dword [esp + 0x3c]
mov dword [ebx + 4], ebp
movzx edi, byte [esp + 0x12]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebx, ebx
shr dl, 5
movzx edx, dl
cmp edx, 1
sbb edx, edx
mov dword [esp + 0x20], edx
movzx ecx, byte [esp + 0x13]
mov edx, dword [esp + 0x18]
shl edx, cl
mov eax, dword [esp + 0x24]
and edx, eax
not ebx
or ebx, edi
mov edi, ecx
mov ecx, esi
mov esi, ebp
shl ebp, cl
mov ecx, edi
shr edx, cl
and edx, eax
mov eax, dword [esp + 0x1c]
and ebp, eax
or edx, ebp
mov ecx, ebx
mov eax, esi
sar esi, cl
mov ebx, dword [esp + 0x20]
xor ebx, 0xffffffff
and ebx, esi
or ebx, edx
mov edx, dword [esp + 0x3c]
mov dword [edx], ebx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ecx, ecx
not ecx
or ecx, edi
sar eax, cl
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
cmp eax, 8
jmp 0x2be5aaa
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02be5a10
Function at 0x2be9440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2be9624
add esp, 0xffffff80
lea edi, [esp + 0x30]
mov esi, dword [esp + 0x84]
call fcn.02b3efcc
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.02be89f0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
lea edi, [esp + 0x58]
xor eax, eax
call fcn.02b3eb16
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x88]
xor ecx, ecx
jmp 0x2be94f2
mov edx, dword [esp + 0x10]
lea ecx, [edx + 1]
cmp ecx, 5
jge 0x2be95c5
mov dword [esp + 0x10], ecx
imul edx, ecx, 0x33
mov ebx, edx
sar edx, 0x1f
shr edx, 0x1d
add edx, ebx
sar edx, 3
mov dword [esp + 0x1c], edx
shl edx, 3
sub ebx, edx
cmp ebx, 0x20
sbb edx, edx
lea esi, [esp + ecx*8 + 0x58]
mov edi, dword [esi]
mov dword [esp + 0xc], edi
mov esi, dword [esi + 4]
mov ecx, ebx
shl edi, cl
and edi, edx
mov dword [esp + 8], edi
xchg edi, eax
mov byte [esp + 0x20], al
xchg edi, eax
lea ebp, [ecx - 0x20]
mov dword [esp + 0x18], ebp
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x14], edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edi, edi
shl esi, cl
and esi, edx
mov ecx, ebp
mov edx, dword [esp + 0xc]
mov ebx, edx
shr edx, cl
and edx, edi
or edx, esi
mov ecx, dword [esp + 0x18]
shl ebx, cl
mov ebp, dword [esp + 0x14]
and ebx, ebp
or ebx, edx
mov edx, dword [esp + 8]
mov ebp, edx
shr edx, 8
mov esi, ebx
shl ebx, 0x18
or edx, ebx
mov byte [esp + 0x21], dl
mov edx, ebp
shr ebp, 0x10
mov ebx, esi
shl esi, 0x10
or esi, ebp
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov ebp, ebx
shl ebx, 8
shr edx, 0x18
or edx, ebx
mov byte [esp + 0x23], dl
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
mov edx, dword [esp + 0x1c]
xor ecx, ecx
jmp 0x2be95f6
test byte [eax], al
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0x20
mov dword [esp + 0x94], 0x20
sub esp, 0xffffff80
ret
movzx esi, byte [eax + ebp]
or esi, ebx
xchg esi, ebx
mov byte [eax + ebp], bl
xchg esi, ebx
inc ecx
cmp ecx, 8
jge 0x2be94eb
movzx ebx, byte [esp + ecx + 0x28]
lea ebp, [edx + ecx]
cmp ebp, 0x20
jge 0x2be94eb
test byte [eax], al
cmp ebp, 0x20
jb 0x2be95e8
mov eax, ebp
mov ecx, 0x20
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02be9440
Function at 0x2bf2f30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2bf30f1
sub esp, 0x34
lea eax, [0x2d0a620]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x2bf2f6f
mov eax, edx
mov ecx, ebp
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x3c]
cmp ebp, ecx
jle 0x2bf3098
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x54]
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 4], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0x14]
mov esi, dword [esp + 0x48]
mov dword [esp], esi
call ebp
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
xor esi, esi
jmp 0x2bf30c3
mov edx, dword [esp + 0x30]
movzx esi, byte [edx + 3]
lea edi, [esi + 1]
xchg edi, eax
mov byte [edx + 3], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x2bf2f67
movzx esi, byte [edx + 2]
lea edi, [esi + 1]
xchg edi, eax
mov byte [edx + 2], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x2bf2f67
movzx esi, byte [edx + 1]
lea edi, [esi + 1]
xchg edi, eax
mov byte [edx + 1], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x2bf2f67
movzx esi, byte [edx]
inc esi
xchg esi, eax
mov byte [edx], al
xchg esi, eax
jmp 0x2bf2f67
add esp, 0x34
ret
xchg edi, eax
mov byte [esp + 0x1f], al
xchg edi, eax
movzx edi, byte [ebx + esi]
xchg edi, eax
mov byte [esp + 0x1e], al
xchg edi, eax
movzx edi, byte [esp + 0x1f]
movzx ebx, byte [esp + 0x1e]
xor edi, ebx
xchg edi, eax
mov byte [ecx + ebp], al
xchg edi, eax
inc esi
inc ebp
mov ebx, dword [esp + 0x2c]
cmp esi, edx
jge 0x2bf3042
cmp eax, ebp
jle 0x2bf3042
jbe 0x2bf30e7
movzx edi, byte [ebp + ecx]
cmp esi, edx
jb 0x2bf309c
mov eax, esi
mov ecx, edx
call fcn.02b3e900
mov ecx, eax
mov eax, ebp
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02bf2f30
Function at 0x2bf8890
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2bf8938
mov eax, dword [esp + 4]
movzx ecx, byte [eax + 0x6c]
test cl, cl
je 0x2bf88eb
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0x367cd507
mov dword [eax + 8], 0x3070dd17
mov dword [eax + 0xc], 0xf70e5939
mov dword [eax + 0x10], 0xffc00b31
mov dword [eax + 0x14], 0x68581511
mov dword [eax + 0x18], 0x64f98fa7
mov dword [eax + 0x1c], 0xbefa4fa4
jmp 0x2bf8922
mov dword [eax], 0x6a09e667
mov dword [eax + 4], 0xbb67ae85
mov dword [eax + 8], 0x3c6ef372
mov dword [eax + 0xc], 0xa54ff53a
mov dword [eax + 0x10], 0x510e527f
mov dword [eax + 0x14], 0x9b05688c
mov dword [eax + 0x18], 0x1f83d9ab
mov dword [eax + 0x1c], 0x5be0cd19
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0
mov dword [eax + 0x68], 0
ret
call fcn.02b3d440
jmp fcn.02bf8890
Function at 0x2bfd480
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2bfd664
sub esp, 8
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
mov ebx, edx
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 2]
mov ebp, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [eax + 3]
mov esi, ecx
shl ecx, 0x18
or ecx, edx
and ecx, 0xfffffff
movzx edx, byte [eax + 4]
movzx edi, byte [eax + 5]
mov dword [esp + 4], edi
movzx edi, byte [eax + 6]
movzx eax, byte [eax + 7]
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x18], ecx
shr ebx, 0x18
shr ebp, 0x10
or ebx, ebp
shr esi, 8
or esi, ebx
or edx, esi
mov ecx, dword [esp + 4]
shl ecx, 8
or edx, ecx
shl edi, 0x10
or edi, edx
mov ecx, dword [esp]
shl ecx, 0x18
or edi, ecx
and edi, 0xffffffc
mov dword [eax + 0x1c], edi
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx + 8]
movzx ebx, byte [ecx + 9]
mov ebp, ebx
shl ebx, 8
or edx, ebx
movzx ebx, byte [ecx + 0xa]
mov esi, ebx
shl ebx, 0x10
or edx, ebx
movzx ebx, byte [ecx + 0xb]
mov edi, ebx
shl ebx, 0x18
or ebx, edx
and ebx, 0xffffffc
movzx edx, byte [ecx + 0xc]
mov dword [esp + 4], edx
movzx edx, byte [ecx + 0xd]
mov dword [esp], edx
movzx edx, byte [ecx + 0xe]
movzx ecx, byte [ecx + 0xf]
mov dword [eax + 0x20], ebx
shr ebp, 0x18
shr esi, 0x10
or esi, ebp
shr edi, 8
or edi, esi
mov ebx, dword [esp + 4]
or ebx, edi
mov ebp, dword [esp]
shl ebp, 8
or ebp, ebx
shl edx, 0x10
or edx, ebp
shl ecx, 0x18
or ecx, edx
and ecx, 0xffffffc
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx + 0x10]
movzx ebx, byte [ecx + 0x11]
mov ebp, ebx
shl ebx, 8
or edx, ebx
movzx ebx, byte [ecx + 0x12]
mov esi, ebx
shl ebx, 0x10
or ebx, edx
movzx edx, byte [ecx + 0x13]
mov edi, edx
shl edx, 0x18
or edx, ebx
movzx ebx, byte [ecx + 0x14]
mov dword [esp + 4], ebx
movzx ebx, byte [ecx + 0x15]
mov dword [esp], ebx
movzx ebx, byte [ecx + 0x16]
movzx ecx, byte [ecx + 0x17]
mov dword [eax + 0x28], edx
shr ebp, 0x18
shr esi, 0x10
or esi, ebp
shr edi, 8
or edi, esi
mov edx, dword [esp + 4]
or edx, edi
mov ebp, dword [esp]
shl ebp, 8
or ebp, edx
shl ebx, 0x10
or ebx, ebp
shl ecx, 0x18
or ecx, ebx
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx + 0x18]
movzx ebx, byte [ecx + 0x19]
mov ebp, ebx
shl ebx, 8
or edx, ebx
movzx ebx, byte [ecx + 0x1a]
mov esi, ebx
shl ebx, 0x10
or ebx, edx
movzx edx, byte [ecx + 0x1b]
mov edi, edx
shl edx, 0x18
or edx, ebx
movzx ebx, byte [ecx + 0x1c]
mov dword [esp + 4], ebx
movzx ebx, byte [ecx + 0x1d]
mov dword [esp], ebx
movzx ebx, byte [ecx + 0x1e]
movzx ecx, byte [ecx + 0x1f]
mov dword [eax + 0x30], edx
shr ebp, 0x18
shr esi, 0x10
or esi, ebp
shr edi, 8
or edi, esi
mov edx, dword [esp + 4]
or edx, edi
mov ebp, dword [esp]
shl ebp, 8
or ebp, edx
shl ebx, 0x10
or ebx, ebp
shl ecx, 0x18
or ecx, ebx
mov dword [eax + 0x34], ecx
add esp, 8
ret
call fcn.02b3d440
jmp fcn.02bfd480
Function at 0x2c0e3a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2c0e501
sub esp, 0x48
mov eax, dword [esp + 0x78]
cmp eax, 4
jne 0x2c0e427
mov ecx, dword [esp + 0x74]
cmp dword [ecx], 0x6c616964
jne 0x2c0e42b
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
test al, al
jne 0x2c0e3f1
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
jmp 0x2c0e42b
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
jmp 0x2c0e433
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edx
mov ebp, dword [esp + 0x54]
mov dword [esp], ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x5c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.02c0e180
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x24]
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], cl
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], eax
call fcn.02c12af0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
add esp, 0x48
ret
call fcn.02b3d440
jmp fcn.02c0e3a0
Function at 0x2c18b60
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2c18cd3
movzx eax, byte [esp + 4]
lea ecx, [eax - 0x61]
cmp cl, 0x19
jbe 0x2c18b93
lea ecx, [eax - 0x41]
cmp cl, 0x19
jbe 0x2c18b93
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x2c18b99
mov byte [esp + 0xc], 0
ret
mov ecx, dword [esp + 8]
cmp ecx, 3
je 0x2c18ba7
cmp ecx, 4
jne 0x2c18bd8
cmp al, 0x2c
ja 0x2c18bc0
lea edx, [eax - 0x21]
cmp dl, 1
jbe 0x2c18bd2
cmp al, 0x24
je 0x2c18bd2
cmp al, 0x26
jae 0x2c18bd2
jmp 0x2c18bd8
lea edx, [eax - 0x3a]
cmp dl, 4
jbe 0x2c18bd2
cmp al, 0x5b
je 0x2c18bd2
cmp al, 0x5d
jne 0x2c18bd8
mov byte [esp + 0xc], 0
ret
cmp al, 0x2f
ja 0x2c18c0f
cmp al, 0x26
ja 0x2c18bf1
cmp al, 0x24
je 0x2c18c2e
cmp al, 0x26
je 0x2c18c2e
jmp 0x2c18cb5
lea edx, [eax - 0x2b]
cmp dl, 1
jbe 0x2c18c2e
lea edx, [eax - 0x2d]
cmp dl, 1
jbe 0x2c18caf
cmp al, 0x2f
je 0x2c18c2e
jmp 0x2c18cb5
cmp al, 0x3d
ja 0x2c18c26
lea edx, [eax - 0x3a]
cmp dl, 1
jbe 0x2c18c2e
cmp al, 0x3d
je 0x2c18c2e
jmp 0x2c18cb5
lea edx, [eax - 0x3f]
cmp dl, 1
ja 0x2c18ca5
cmp ecx, 2
jg 0x2c18c69
cmp ecx, 1
je 0x2c18c5e
cmp ecx, 2
jne 0x2c18cb5
cmp al, 0x2f
je 0x2c18c4c
cmp al, 0x3b
je 0x2c18c4c
cmp al, 0x2c
jne 0x2c18c53
mov eax, 1
jmp 0x2c18c59
cmp al, 0x3f
sete al
mov byte [esp + 0xc], al
ret
cmp al, 0x3f
sete al
mov byte [esp + 0xc], al
ret
cmp ecx, 5
jne 0x2c18c8f
cmp al, 0x40
je 0x2c18c7d
cmp al, 0x2f
je 0x2c18c7d
cmp al, 0x3f
jne 0x2c18c84
mov eax, 1
jmp 0x2c18c8a
cmp al, 0x3a
sete al
mov byte [esp + 0xc], al
ret
cmp ecx, 6
je 0x2c18c9f
cmp ecx, 7
jne 0x2c18cb5
mov byte [esp + 0xc], 0
ret
mov byte [esp + 0xc], 1
ret
cmp al, 0x5f
je 0x2c18caf
cmp al, 0x7e
jne 0x2c18cb5
mov byte [esp + 0xc], 0
ret
cmp ecx, 7
jne 0x2c18ccd
cmp al, 0x21
je 0x2c18cc7
add eax, 0xffffffd8
cmp al, 2
ja 0x2c18ccd
mov byte [esp + 0xc], 0
ret
mov byte [esp + 0xc], 1
ret
call fcn.02b3d440
jmp fcn.02c18b60
Function at 0x2c1fdf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2c1ff44
sub esp, 0x28
lea eax, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], eax
mov byte [esp + 8], 0x30
call fcn.02be62a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x2c1fe5a
lea eax, [0x2d17160]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x27
lea ecx, [0x2d4dae8]
mov dword [eax], ecx
lea ecx, [0x2da439c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
add esp, 0x28
ret
mov eax, dword [esp + 0x30]
test eax, eax
je 0x2c1ff30
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov byte [esp + 0x1b], 0
lea eax, [esp + 0x2c]
mov dword [esp], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x1b]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.02be6ad0
movzx eax, byte [esp + 0x10]
test al, al
je 0x2c1fefd
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
movzx esi, byte [esp + 0x1b]
xor esi, 0xffffff80
xchg esi, eax
movzx eax, al
xchg esi, eax
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x2c1fe5a
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebx
add esp, 0x28
ret
lea eax, [0x2d17160]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x26
lea ecx, [0x2d4d386]
mov dword [eax], ecx
lea ecx, [0x2da439c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
add esp, 0x28
ret
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
add esp, 0x28
ret
call fcn.02b3d440
jmp fcn.02c1fdf0
Function at 0x2c29f50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2c2a188
sub esp, 0x6c
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0
lea edi, [esp + 0x3c]
xor eax, eax
call fcn.02b3eb14
lea ecx, [0x2c2a1a0]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x54], ecx
lea edx, [esp + 0x24]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x1c]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x60], edx
lea ebx, [esp + 0x8c]
mov dword [esp + 0x64], ebx
lea ebx, [esp + 0x74]
mov dword [esp + 0x68], ebx
mov ebx, dword [edx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.02c1d340
mov ecx, dword [esp + 8]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], edx
xor eax, eax
jmp 0x2c2a080
mov dword [esp + 0x14], eax
mov ebx, dword [ecx + eax*4]
mov ebp, dword [esp + 0x3c]
mov dword [esp], 2
mov dword [esp + 4], ebx
lea edx, [esp + 0x3c]
call ebp
mov eax, dword [esp + 0x14]
inc eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp eax, edx
jl 0x2c2a057
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.02c1d340
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
xor edx, edx
jmp 0x2c2a0dd
mov dword [esp + 0x14], edx
mov ecx, dword [eax + edx*4]
mov ebx, dword [esp + 0x3c]
mov dword [esp], 1
mov dword [esp + 4], ecx
lea edx, [esp + 0x3c]
call ebx
mov eax, dword [esp + 0x14]
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
jl 0x2c2a0b2
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x2c2a102
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x2c2a184
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x2c2a184
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
lea eax, [0x2da4810]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.02ae9050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x6c
ret
call fcn.02b3d440
jmp fcn.02c29f50