joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100ab9b4
Capabilities:
Encode data using base64

Disassembly:
push 0x10
mov eax, 0x10254a89
call fcn.10236040
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp + 8]
mov dword [edi], ecx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], 7
mov word [edi], ax
mov eax, dword [ebp + 0x10]
push 3
mov dword [ebp - 4], ecx
pop ecx
mov dword [ebp - 0x1c], 1
cmp eax, ecx
jb 0x100abaab
xor edx, edx
div ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov al, byte [ecx + 1]
mov bl, byte [ecx]
mov bh, byte [ecx + 2]
mov byte [ebp - 0xd], al
mov eax, dword [0x1030d2c0]
movzx ecx, bl
shr ecx, 2
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
and bl, 3
shl bl, 4
movzx ecx, bl
mov bl, byte [ebp - 0xd]
movzx eax, bl
shr eax, 4
or ecx, eax
mov eax, dword [0x1030d2c0]
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
movzx esi, bh
and bl, 0xf
shl bl, 2
mov eax, esi
shr eax, 6
movzx ecx, bl
or ecx, eax
mov eax, dword [0x1030d2c0]
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
mov eax, dword [0x1030d2c0]
and esi, 0x3f
mov ecx, edi
movsx ax, byte [esi + eax]
movzx eax, ax
push eax
call fcn.1014ecdb
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
sub eax, 3
add ecx, 3
mov dword [ebp + 0x10], eax
sub dword [ebp - 0x18], 1
mov dword [ebp - 0x14], ecx
jne 0x100ab9fe
jmp 0x100abaae
mov ecx, dword [ebp + 0xc]
sub eax, 1
je 0x100abb1b
sub eax, 1
jne 0x100abb68
mov bl, byte [ecx]
mov bh, byte [ecx + 1]
mov eax, dword [0x1030d2c0]
movzx ecx, bl
shr ecx, 2
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
and bl, 3
movzx eax, bh
shr eax, 4
shl bl, 4
movzx ecx, bl
or ecx, eax
mov eax, dword [0x1030d2c0]
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
mov eax, dword [0x1030d2c0]
and bh, 0xf
shl bh, 2
movzx ecx, bh
movsx ax, byte [ecx + eax]
movzx eax, ax
push eax
jmp 0x100abb58
mov bl, byte [ecx]
mov eax, dword [0x1030d2c0]
movzx ecx, bl
shr ecx, 2
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
mov eax, dword [0x1030d2c0]
and bl, 3
shl bl, 4
movzx ecx, bl
movsx ax, byte [ecx + eax]
mov ecx, edi
movzx eax, ax
push eax
call fcn.1014ecdb
push 0x3d
mov ecx, edi
call fcn.1014ecdb
push 0x3d
mov ecx, edi
call fcn.1014ecdb
mov eax, edi
call fcn.1023600e
ret
Function at 0x100abf30
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
cmp dword [esp + 8], 3
jne 0x100abfd3
mov eax, dword [0x1030d2c4]
cmp eax, 0xffffffff
je 0x100abfd3
push esi
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test esi, esi
je 0x100abfcc
push edi
mov edi, dword [esi]
test edi, edi
je 0x100abf82
lea eax, [edi + 0x1c4]
push eax
call fcn.100dcc40
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 8
push 0
push dword [0x1030d2c4]
call dword [sym.imp.kernel32.dll_TlsSetValue]
push 0x1031e12c
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
pop edi
cmp esi, dword [0x1031e128]
jne 0x100abfa1
mov ecx, dword [esi + 8]
mov dword [0x1031e128], ecx
jmp 0x100abfad
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x100abfb7
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
push 0x1031e12c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, 1
pop esi
ret
mov eax, 1
ret

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

Disassembly:
call fcn.100ac1e0
push dword [0x1030d2c4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100ac03f
mov eax, dword [eax]
test eax, eax
jne 0x100ac10d
push esi
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push edi
push 0x204
call esi
mov edi, eax
add esp, 4
test edi, edi
jne 0x100ac076
call fcn.100e17a0
mov esi, eax
call fcn.100e17c0
push str.xmlGetGlobalState:_out_of_memory_n
push dword [eax]
mov eax, dword [esi]
call eax
add esp, 8
xor eax, eax
pop edi
pop esi
ret
push 0x204
push 0
push edi
call sub.VCRUNTIME140.dll_memset
push edi
call fcn.100e1a10
push 0xc
call esi
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x100ac0c8
call fcn.100e17a0
mov esi, eax
call fcn.100e17c0
push str.xmlGetGlobalState:_out_of_memory_n
push dword [eax]
mov eax, dword [esi]
call eax
lea eax, [edi + 0x1c4]
push eax
call fcn.100dcc40
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
xor eax, eax
pop edi
pop esi
ret
push 0x1031e12c
mov dword [esi], edi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x1031e128]
test eax, eax
je 0x100ac0e1
mov dword [eax + 4], esi
push esi
push dword [0x1030d2c4]
mov dword [esi + 8], eax
mov dword [esi + 4], 0
mov dword [0x1031e128], esi
call dword [sym.imp.kernel32.dll_TlsSetValue]
push 0x1031e12c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, edi
pop edi
pop esi
ret
Function at 0x100ac1e0
Capabilities:
Allocate thread local storage

Disassembly:
cmp dword [0x1031e118], 0
jne 0x100ac24e
mov eax, 1
lock xadd dword [0x1031e11c], eax
inc eax
cmp eax, 1
jne 0x100ac22d
push 0x1031e12c
call dword [sym.imp.kernel32.dll_InitializeCriticalSection]
call dword [sym.imp.kernel32.dll_TlsAlloc]
mov dword [0x1030d2c4], eax
call dword [sym.imp.kernel32.dll_GetCurrentThreadId]
mov dword [0x1031e114], eax
call fcn.100e1bb0
mov dword [0x1031e118], 1
ret
cmp dword [0x1031e118], 0
jne 0x100ac24e
push esi
mov esi, dword [sym.imp.kernel32.dll_Sleep]
nop dword [eax]
push 0
call esi
cmp dword [0x1031e118], 0
je 0x100ac240
pop esi
ret
Function at 0x100cb7c0
Capabilities:
Terminate process

Disassembly:
push ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
push ebx
push ebp
mov ebx, dword [ecx + eax*8 - 0x10]
push esi
mov esi, dword [ecx + eax*8 - 4]
mov ebp, esi
push edi
mov edi, dword [ecx + eax*8 - 0xc]
cmp edi, esi
mov dword [esp + 0x20], edi
cmovb ebp, edi
mov edi, dword [esp + 0x24]
cmp dword [edi], ebp
jae 0x100cb840
lea eax, [ebp*4]
push eax
lfence
push dword [edi + 4]
mov dword [esp + 0x24], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x100cb837
push dword [esp + 0x1c]
lfence
push str.Error_allocating_temporary_storage_for_tim_sort:_need__lu_bytes
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.100cb2b0
add esp, 0xc
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov edx, dword [esp + 0x18]
mov dword [edi + 4], eax
mov dword [edi], ebp
mov ebp, dword [esp + 0x20]
lea eax, [ebx + esi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x1c], ecx
lea edi, [ebx + ebp]
add ebp, eax
mov eax, dword [esp + 0x20]
cmp eax, esi
jae 0x100cb8dc
shl eax, 2
push eax
lea eax, [edx + ebx*4]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor esi, esi
cmp ebx, ebp
jae 0x100cb954
mov eax, dword [esp + 0x18]
nop
cmp esi, dword [esp + 0x20]
jae 0x100cb954
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + esi*4]
mov ecx, dword [ecx]
cmp edi, ebp
jae 0x100cb8cd
mov eax, dword [eax + edi*4]
push eax
push ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ecx
call fcn.100cca80
add esp, 8
cmp eax, 0xfffffffe
je 0x100cb8c2
neg eax
test eax, eax
jle 0x100cb8c2
mov ecx, dword [esp + 0x24]
inc edi
mov eax, dword [esp + 0x18]
jmp 0x100cb8ce
mov ecx, dword [esp + 0x10]
inc esi
mov eax, dword [esp + 0x18]
jmp 0x100cb8ce
inc esi
mov dword [eax + ebx*4], ecx
inc ebx
cmp ebx, ebp
jb 0x100cb880
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
lea eax, [esi*4]
push eax
lea eax, [edx + edi*4]
push eax
push ecx
lfence
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp ebp, ebx
jbe 0x100cb954
mov ecx, dword [esp + 0x18]
nop dword [eax]
dec ebp
test esi, esi
je 0x100cb954
mov eax, dword [esp + 0x1c]
cmp edi, ebx
jbe 0x100cb948
push dword [eax + esi*4 - 4]
mov eax, dword [esp + 0x1c]
push dword [eax + edi*4 - 4]
call fcn.100cca80
add esp, 8
cmp eax, 0xfffffffe
je 0x100cb93a
neg eax
test eax, eax
jle 0x100cb93a
mov eax, dword [esp + 0x18]
dec edi
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + edi*4]
jmp 0x100cb94d
mov eax, dword [esp + 0x1c]
dec esi
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + esi*4]
jmp 0x100cb94d
mov eax, dword [eax + esi*4 - 4]
dec esi
mov dword [ecx + ebp*4], eax
cmp ebp, ebx
ja 0x100cb900
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x100e1ce0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, dword [esp + 0xc]
push edi
test esi, esi
jle 0x100e1d23
mov edi, dword [esp + 0xc]
test edi, edi
je 0x100e1d23
mov eax, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [edx + edi]
inc edx
add ecx, eax
imul eax, ecx, 0x401
mov ecx, eax
shr ecx, 6
xor eax, ecx
cmp edx, esi
jl 0x100e1cf8
lea ecx, [eax + eax*8]
mov eax, ecx
shr eax, 0xb
xor eax, ecx
pop edi
imul eax, eax, 0x8001
pop esi
ret
pop edi
xor eax, eax
pop esi
ret

Function at 0x100e1d30
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 0x14]
xor edx, edx
push esi
mov esi, dword [esp + 0xc]
push edi
test esi, esi
jle 0x100e1d5c
mov edi, dword [esp + 0xc]
movzx eax, byte [edx + edi]
inc edx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp edx, esi
jl 0x100e1d44
mov esi, dword [esp + 0x18]
lea eax, [ecx + 0x3a]
imul ecx, eax, 0x401
xor edx, edx
mov eax, ecx
shr eax, 6
xor ecx, eax
test esi, esi
jle 0x100e1d98
mov edi, dword [esp + 0x14]
nop word [eax + eax]
movzx eax, byte [edx + edi]
inc edx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp edx, esi
jl 0x100e1d80
lea ecx, [ecx + ecx*8]
mov eax, ecx
shr eax, 0xb
xor eax, ecx
pop edi
imul eax, eax, 0x8001
pop esi
ret
Function at 0x100e3bd0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, dword [esp + 0xc]
xor eax, eax
push edi
test esi, esi
je 0x100e3c0a
movzx edi, byte [esi]
mov eax, edi
shl eax, 4
sub eax, edi
add eax, eax
test edi, edi
je 0x100e3c0a
nop dword [eax]
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3bf0
mov esi, dword [esp + 0x14]
mov edx, eax
mov ecx, eax
shl edx, 5
shr ecx, 3
add edx, ecx
xor eax, edx
test esi, esi
je 0x100e3c41
movzx edi, byte [esi]
test edi, edi
je 0x100e3c41
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3c27
mov esi, dword [esp + 0x18]
mov edx, eax
mov ecx, eax
shl edx, 5
shr ecx, 3
add edx, ecx
xor eax, edx
test esi, esi
je 0x100e3c7a
movzx edi, byte [esi]
test edi, edi
je 0x100e3c7a
nop
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3c60
mov ecx, dword [esp + 0xc]
xor edx, edx
pop edi
pop esi
div dword [ecx + 4]
mov eax, edx
ret
Function at 0x100e3c90
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x10]
test edi, edi
je 0x100e3ce0
movzx ecx, byte [edi]
mov eax, ecx
shl eax, 4
sub eax, ecx
push ebx
movzx ebx, byte [edi]
add eax, eax
test ebx, ebx
je 0x100e3ccc
mov edx, eax
lea edi, [edi + 1]
shl edx, 5
mov ecx, eax
add edx, ebx
shr ecx, 3
movzx ebx, byte [edi]
add ecx, edx
xor eax, ecx
test ebx, ebx
jne 0x100e3cb2
mov ecx, eax
mov edx, eax
shr ecx, 3
shl edx, 5
add ecx, 0x3a
add ecx, edx
xor eax, ecx
pop ebx
jmp 0x100e3cec
movzx ecx, byte [esi]
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, eax
test esi, esi
je 0x100e3d11
movzx edi, byte [esi]
test edi, edi
je 0x100e3d11
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3cf7
mov esi, dword [esp + 0x18]
mov edx, eax
mov ecx, eax
shl edx, 5
shr ecx, 3
add edx, ecx
xor eax, edx
test esi, esi
je 0x100e3d5b
movzx edi, byte [esi]
test edi, edi
je 0x100e3d4a
nop
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3d30
mov ecx, eax
mov edx, eax
shr ecx, 3
shl edx, 5
add ecx, 0x3a
add ecx, edx
xor eax, ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x100e3d8a
movzx edi, byte [esi]
test edi, edi
je 0x100e3d8a
nop word [eax + eax]
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3d70
mov esi, dword [esp + 0x20]
mov edx, eax
mov ecx, eax
shl edx, 5
shr ecx, 3
add edx, ecx
xor eax, edx
test esi, esi
je 0x100e3dd2
movzx edi, byte [esi]
test edi, edi
je 0x100e3dc1
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3da7
mov ecx, eax
mov edx, eax
shr ecx, 3
shl edx, 5
add ecx, 0x3a
add ecx, edx
xor eax, ecx
mov esi, dword [esp + 0x24]
test esi, esi
je 0x100e3dfb
movzx edi, byte [esi]
test edi, edi
je 0x100e3dfb
mov edx, eax
lea esi, [esi + 1]
shl edx, 5
mov ecx, eax
add edx, edi
shr ecx, 3
movzx edi, byte [esi]
add ecx, edx
xor eax, ecx
test edi, edi
jne 0x100e3de1
mov ecx, dword [esp + 0xc]
xor edx, edx
pop edi
pop esi
div dword [ecx + 4]
mov eax, edx
ret
Function at 0x100ee510
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x100ee51e
or eax, 0xffffffff
pop ebx
ret
push esi
mov esi, dword [ebx]
push edi
mov edi, dword [esp + 0x10]
mov al, byte [esi]
cmp al, 0x61
jl 0x100ee534
cmp al, 0x7a
jle 0x100ee61a
cmp al, 0x41
jl 0x100ee540
cmp al, 0x5a
jle 0x100ee61a
cmp al, 0x30
jl 0x100ee54c
cmp al, 0x39
jle 0x100ee61a
cmp al, 0x2d
je 0x100ee61a
cmp al, 0x2e
je 0x100ee61a
cmp al, 0x5f
je 0x100ee61a
cmp al, 0x7e
je 0x100ee61a
cmp al, 0x25
jne 0x100ee5b2
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x100ee57d
cmp cl, 0x39
jle 0x100ee58f
cmp cl, 0x61
jl 0x100ee587
cmp cl, 0x66
jle 0x100ee58f
sub cl, 0x41
cmp cl, 5
ja 0x100ee5f6
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x100ee59c
cmp cl, 0x39
jle 0x100ee61a
cmp cl, 0x61
jl 0x100ee5a6
cmp cl, 0x66
jle 0x100ee61a
cmp cl, 0x41
jl 0x100ee5f6
cmp cl, 0x46
jle 0x100ee61a
jmp 0x100ee5f6
cmp al, 0x21
je 0x100ee61a
cmp al, 0x24
je 0x100ee61a
cmp al, 0x26
je 0x100ee61a
cmp al, 0x28
je 0x100ee61a
cmp al, 0x29
je 0x100ee61a
cmp al, 0x2a
je 0x100ee61a
cmp al, 0x2b
je 0x100ee61a
cmp al, 0x2c
je 0x100ee61a
cmp al, 0x3b
je 0x100ee61a
cmp al, 0x3d
je 0x100ee61a
cmp al, 0x27
je 0x100ee61a
cmp al, 0x3a
je 0x100ee61a
cmp al, 0x40
je 0x100ee61a
cmp al, 0x2f
je 0x100ee61a
cmp al, 0x3f
je 0x100ee61a
cmp al, 0x5b
je 0x100ee61a
cmp al, 0x5d
je 0x100ee61a
test edi, edi
je 0x100ee66d
mov edx, dword [edi + 0x24]
test dl, 1
je 0x100ee62a
cmp al, 0x7b
je 0x100ee61a
cmp al, 0x7d
je 0x100ee61a
cmp al, 0x7c
je 0x100ee61a
cmp al, 0x5c
je 0x100ee61a
cmp al, 0x5e
je 0x100ee61a
cmp al, 0x60
jne 0x100ee62a
xor ecx, ecx
cmp al, 0x25
sete cl
lea esi, [esi + ecx*2]
inc esi
jmp 0x100ee526
mov eax, dword [edi + 0x20]
test eax, eax
je 0x100ee63e
push eax
call dword [0x1030d464]
mov edx, dword [edi + 0x24]
add esp, 4
mov ecx, dword [ebx]
mov eax, esi
sub eax, ecx
test dl, 2
je 0x100ee65e
push eax
push ecx
call fcn.100e3540
add esp, 8
mov dword [edi + 0x20], eax
mov dword [ebx], esi
xor eax, eax
pop edi
pop esi
pop ebx
ret
push 0
push eax
push ecx
call fcn.100f05e0
add esp, 0xc
mov dword [edi + 0x20], eax
pop edi
mov dword [ebx], esi
xor eax, eax
pop esi
pop ebx
ret
Function at 0x100ee8b0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
mov esi, dword [ebp]
mov ebx, esi
mov dword [esp + 0x14], esi
mov al, byte [esi]
cmp al, 0x5b
jne 0x100ee95e
mov al, byte [esi + 1]
inc esi
mov edx, esi
cmp al, 0x5d
je 0x100ee8ea
mov ecx, esi
mov edx, ecx
test al, al
je 0x100ee950
mov al, byte [ecx + 1]
lea esi, [ecx + 1]
mov ecx, esi
mov edx, esi
cmp al, 0x5d
jne 0x100ee8d6
lea esi, [edx + 1]
push edi
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100eeab5
mov eax, dword [edi + 8]
test eax, eax
je 0x100ee90b
push eax
call dword [0x1030d464]
add esp, 4
mov eax, dword [edi + 0xc]
mov dword [edi + 8], 0
test eax, eax
je 0x100ee923
push eax
call dword [0x1030d464]
add esp, 4
cmp esi, ebx
je 0x100eeaae
mov eax, esi
sub eax, ebx
test byte [edi + 0x24], 2
je 0x100eea95
push eax
push ebx
call fcn.100e3540
add esp, 8
mov dword [edi + 0xc], eax
mov dword [ebp], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
cmp byte [esi], 0x5d
je 0x100ee8ea
pop esi
pop ebp
mov eax, 1
pop ebx
ret
cmp al, 0x30
jl 0x100ee9d3
cmp al, 0x39
jg 0x100ee9d3
lea eax, [esp + 0x14]
push eax
call fcn.100ee480
add esp, 4
test eax, eax
jne 0x100ee9d3
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x2e
jne 0x100ee9d3
inc eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
call fcn.100ee480
add esp, 4
test eax, eax
jne 0x100ee9d3
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x2e
jne 0x100ee9d3
lea eax, [esp + 0x14]
push eax
call fcn.100ee480
add esp, 4
test eax, eax
jne 0x100ee9d3
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x2e
jne 0x100ee9d3
lea eax, [esp + 0x14]
push eax
call fcn.100ee480
add esp, 4
test eax, eax
jne 0x100ee9d3
mov esi, dword [esp + 0x14]
jmp 0x100ee8ed
mov al, byte [esi]
cmp al, 0x61
jl 0x100ee9e1
cmp al, 0x7a
jle 0x100eea83
cmp al, 0x41
jl 0x100ee9ed
cmp al, 0x5a
jle 0x100eea83
cmp al, 0x30
jl 0x100ee9f9
cmp al, 0x39
jle 0x100eea83
cmp al, 0x2d
je 0x100eea83
cmp al, 0x2e
je 0x100eea83
cmp al, 0x5f
je 0x100eea83
cmp al, 0x7e
je 0x100eea83
cmp al, 0x25
jne 0x100eea53
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x100eea1e
cmp cl, 0x39
jle 0x100eea32
cmp cl, 0x61
jl 0x100eea28
cmp cl, 0x66
jle 0x100eea32
cmp cl, 0x41
jl 0x100eea53
cmp cl, 0x46
jg 0x100eea53
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x100eea3f
cmp cl, 0x39
jle 0x100eea83
cmp cl, 0x61
jl 0x100eea49
cmp cl, 0x66
jle 0x100eea83
cmp cl, 0x41
jl 0x100eea53
cmp cl, 0x46
jle 0x100eea83
cmp al, 0x21
je 0x100eea83
cmp al, 0x24
je 0x100eea83
cmp al, 0x26
je 0x100eea83
cmp al, 0x28
je 0x100eea83
cmp al, 0x29
je 0x100eea83
cmp al, 0x2a
je 0x100eea83
cmp al, 0x2b
je 0x100eea83
cmp al, 0x2c
je 0x100eea83
cmp al, 0x3b
je 0x100eea83
cmp al, 0x3d
je 0x100eea83
cmp al, 0x27
jne 0x100ee8ed
cmp al, 0x25
jne 0x100eea8f
add esi, 3
jmp 0x100ee9d3
inc esi
jmp 0x100ee9d3
push 0
push eax
push ebx
call fcn.100f05e0
add esp, 0xc
mov dword [edi + 0xc], eax
mov dword [ebp], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
mov dword [edi + 0xc], 0
pop edi
mov dword [ebp], esi
xor eax, eax
pop esi
pop ebp
pop ebx
ret
Function at 0x100eec20
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x100eec2e
or eax, 0xffffffff
pop ebx
ret
push esi
mov esi, dword [ebx]
push edi
mov edi, dword [esp + 0x10]
mov al, byte [esi]
cmp al, 0x61
jl 0x100eec44
cmp al, 0x7a
jle 0x100eed30
cmp al, 0x41
jl 0x100eec50
cmp al, 0x5a
jle 0x100eed30
cmp al, 0x30
jl 0x100eec5c
cmp al, 0x39
jle 0x100eed30
cmp al, 0x2d
je 0x100eed30
cmp al, 0x2e
je 0x100eed30
cmp al, 0x5f
je 0x100eed30
cmp al, 0x7e
je 0x100eed30
cmp al, 0x25
jne 0x100eecc6
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x100eec8d
cmp cl, 0x39
jle 0x100eec9f
cmp cl, 0x61
jl 0x100eec97
cmp cl, 0x66
jle 0x100eec9f
sub cl, 0x41
cmp cl, 5
ja 0x100eed02
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x100eecb0
cmp cl, 0x39
jle 0x100eed30
cmp cl, 0x61
jl 0x100eecba
cmp cl, 0x66
jle 0x100eed30
cmp cl, 0x41
jl 0x100eed02
cmp cl, 0x46
jle 0x100eed30
jmp 0x100eed02
cmp al, 0x21
je 0x100eed30
cmp al, 0x24
je 0x100eed30
cmp al, 0x26
je 0x100eed30
cmp al, 0x28
je 0x100eed30
cmp al, 0x29
je 0x100eed30
cmp al, 0x2a
je 0x100eed30
cmp al, 0x2b
je 0x100eed30
cmp al, 0x2c
je 0x100eed30
cmp al, 0x3b
je 0x100eed30
cmp al, 0x3d
je 0x100eed30
cmp al, 0x27
je 0x100eed30
cmp al, 0x3a
je 0x100eed30
cmp al, 0x40
je 0x100eed30
cmp al, 0x2f
je 0x100eed30
cmp al, 0x3f
je 0x100eed30
test edi, edi
je 0x100eed9c
test byte [edi + 0x24], 1
je 0x100eed40
cmp al, 0x7b
je 0x100eed30
cmp al, 0x7d
je 0x100eed30
cmp al, 0x7c
je 0x100eed30
cmp al, 0x5c
je 0x100eed30
cmp al, 0x5e
je 0x100eed30
cmp al, 0x5b
je 0x100eed30
cmp al, 0x5d
je 0x100eed30
cmp al, 0x60
jne 0x100eed40
xor ecx, ecx
cmp al, 0x25
sete cl
lea esi, [esi + ecx*2]
inc esi
jmp 0x100eec36
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x100eed51
push eax
call dword [0x1030d464]
add esp, 4
mov ecx, dword [ebx]
mov eax, esi
sub eax, ecx
test byte [edi + 0x24], 2
je 0x100eed69
push eax
push ecx
call fcn.100e3540
add esp, 8
jmp 0x100eed75
push 0
push eax
push ecx
call fcn.100f05e0
add esp, 0xc
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x28]
test eax, eax
je 0x100eed89
push eax
call dword [0x1030d464]
add esp, 4
mov ecx, dword [ebx]
mov eax, esi
sub eax, ecx
push eax
push ecx
call fcn.100e3540
add esp, 8
mov dword [edi + 0x28], eax
pop edi
mov dword [ebx], esi
xor eax, eax
pop esi
pop ebx
ret
Function at 0x100ef000
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, dword [esp + 8]
mov edx, dword [esi]
mov al, byte [edx]
cmp al, 0x61
jl 0x100ef011
cmp al, 0x7a
jle 0x100ef079
cmp al, 0x41
jl 0x100ef019
cmp al, 0x5a
jle 0x100ef079
cmp al, 0x30
jl 0x100ef021
cmp al, 0x39
jle 0x100ef079
cmp al, 0x2d
je 0x100ef079
cmp al, 0x2e
je 0x100ef079
cmp al, 0x5f
je 0x100ef079
cmp al, 0x7e
je 0x100ef079
cmp al, 0x25
jne 0x100ef121
mov al, byte [edx + 1]
cmp al, 0x30
jl 0x100ef044
cmp al, 0x39
jle 0x100ef056
cmp al, 0x61
jl 0x100ef04c
cmp al, 0x66
jle 0x100ef056
sub al, 0x41
cmp al, 5
ja 0x100ef189
mov al, byte [edx + 2]
cmp al, 0x30
jl 0x100ef061
cmp al, 0x39
jle 0x100ef079
cmp al, 0x61
jl 0x100ef069
cmp al, 0x66
jle 0x100ef079
cmp al, 0x41
jl 0x100ef189
cmp al, 0x46
jg 0x100ef189
push ebx
mov bl, byte [esp + 0x10]
nop
mov al, byte [edx]
cmp al, 0x61
jl 0x100ef08e
cmp al, 0x7a
jle 0x100ef1cc
cmp al, 0x41
jl 0x100ef09a
cmp al, 0x5a
jle 0x100ef1cc
cmp al, 0x30
jl 0x100ef0a6
cmp al, 0x39
jle 0x100ef1cc
cmp al, 0x2d
je 0x100ef1cc
cmp al, 0x2e
je 0x100ef1cc
cmp al, 0x5f
je 0x100ef1cc
cmp al, 0x7e
je 0x100ef1cc
cmp al, 0x25
jne 0x100ef194
mov cl, byte [edx + 1]
cmp cl, 0x30
jl 0x100ef0db
cmp cl, 0x39
jle 0x100ef0ed
cmp cl, 0x61
jl 0x100ef0e5
cmp cl, 0x66
jle 0x100ef0ed
sub cl, 0x41
cmp cl, 5
ja 0x100ef11a
mov cl, byte [edx + 2]
cmp cl, 0x30
jl 0x100ef0fe
cmp cl, 0x39
jle 0x100ef1cc
cmp cl, 0x61
jl 0x100ef10c
cmp cl, 0x66
jle 0x100ef1cc
cmp cl, 0x41
jl 0x100ef11a
cmp cl, 0x46
jle 0x100ef1cc
pop ebx
mov dword [esi], edx
xor eax, eax
pop esi
ret
cmp al, 0x21
je 0x100ef079
cmp al, 0x24
je 0x100ef079
cmp al, 0x26
je 0x100ef079
cmp al, 0x28
je 0x100ef079
cmp al, 0x29
je 0x100ef079
cmp al, 0x2a
je 0x100ef079
cmp al, 0x2b
je 0x100ef079
cmp al, 0x2c
je 0x100ef079
cmp al, 0x3b
je 0x100ef079
cmp al, 0x3d
je 0x100ef079
cmp al, 0x27
je 0x100ef079
cmp al, 0x3a
je 0x100ef079
cmp al, 0x40
je 0x100ef079
xor eax, eax
cmp dword [esp + 0x10], eax
pop esi
sete al
ret
cmp al, 0x21
je 0x100ef1cc
cmp al, 0x24
je 0x100ef1cc
cmp al, 0x26
je 0x100ef1cc
cmp al, 0x28
je 0x100ef1cc
cmp al, 0x29
je 0x100ef1cc
cmp al, 0x2a
je 0x100ef1cc
cmp al, 0x2b
je 0x100ef1cc
cmp al, 0x2c
je 0x100ef1cc
cmp al, 0x3b
je 0x100ef1cc
cmp al, 0x3d
je 0x100ef1cc
cmp al, 0x27
je 0x100ef1cc
cmp al, 0x3a
je 0x100ef1cc
cmp al, 0x40
jne 0x100ef11a
cmp al, bl
je 0x100ef11a
xor ecx, ecx
cmp al, 0x25
sete cl
lea edx, [edx + ecx*2]
inc edx
jmp 0x100ef080