Function at 0x4caaae
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x4cac3e
je 0x4cac2a
cmp ecx, 0x26
jg 0x4cabad
je 0x4caba5
cmp ecx, 0x22
jg 0x4cab4f
je 0x4cae80
cmp ecx, 9
jl 0x4cac75
cmp ecx, 0xa
jle 0x4cab2d
cmp ecx, 0xb
jle 0x4cac75
cmp ecx, 0xd
jle 0x4cab2d
cmp ecx, 0x20
je 0x4cab2d
cmp ecx, 0x21
jne 0x4cac75
cmp byte [ebx + 1], 0x3d
push 2
pop eax
je 0x4cab22
mov dword [esi], 0x94
jmp 0x4cafea
mov dword [esi], 0x4b
jmp 0x4cafea
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x4cab3b
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], 1
jne 0x4cab36
mov dword [esi], 0x95
jmp 0x4cafea
mov eax, ecx
sub eax, 0x23
je 0x4cab6f
dec eax
je 0x4caf71
dec eax
jne 0x4cac75
mov dword [esi], 0x5a
jmp 0x4cabfa
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x539568], dl
je 0x4caf71
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], dl
jne 0x4cab84
cmp eax, 1
jle 0x4caf71
mov dword [esi], 0x84
jmp 0x4cafea
mov dword [esi], 0x52
jmp 0x4cabfa
mov eax, ecx
sub eax, 0x27
je 0x4cae80
dec eax
je 0x4cac22
dec eax
je 0x4cac1a
dec eax
je 0x4cac12
dec eax
je 0x4cac0a
dec eax
je 0x4cac02
dec eax
jne 0x4cac75
cmp byte [ebx + 1], 0x2d
jne 0x4cabf4
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x4cabeb
cmp ecx, 0xa
je 0x4cab44
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x4cabdd
jmp 0x4cab44
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x4cafea
mov dword [esi], 0x19
jmp 0x4cabfa
mov dword [esi], 0x56
jmp 0x4cabfa
mov dword [esi], 0x58
jmp 0x4cabfa
mov dword [esi], 0x17
jmp 0x4cabfa
mov dword [esi], 0x16
jmp 0x4cabfa
movzx eax, byte [ebx + 1]
test byte [eax + 0x539568], dl
jne 0x4cac8d
mov dword [esi], 0x76
jmp 0x4cabfa
cmp ecx, 0x3f
jg 0x4cae21
je 0x4cadfe
cmp ecx, 0x3b
jg 0x4cad73
je 0x4cad69
cmp ecx, 0x2f
je 0x4cad2b
jle 0x4cac75
cmp ecx, 0x39
jle 0x4cac8d
cmp ecx, 0x3a
je 0x4caf71
test byte [ecx + 0x539568], 0x46
jne 0x4caf4f
mov dword [esi], 0x94
jmp 0x4cabfa
mov dword [esi], 0x81
xor eax, eax
jmp 0x4cac9c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], dl
jne 0x4cac97
cmp byte [eax + ebx], 0x2e
jne 0x4cacbd
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], dl
jne 0x4cacaa
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x4cacca
cmp cl, 0x45
jne 0x4cad07
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x539568], dl
jne 0x4cacf0
cmp cl, 0x2b
je 0x4cace3
cmp cl, 0x2d
jne 0x4cad07
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x539568], dl
je 0x4cad07
inc eax
inc eax
jmp 0x4cacf5
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], dl
jne 0x4cacf4
mov dword [esi], 0x82
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], 0x46
je 0x4cafea
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], 0x46
jne 0x4cad18
jmp 0x4cab17
cmp byte [ebx + 1], 0x2a
jne 0x4cad5e
mov cl, byte [ebx + 2]
test cl, cl
je 0x4cad5e
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x4cad49
cmp byte [eax + ebx], 0x2f
je 0x4cad58
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4cab44
inc eax
jmp 0x4cad3e
inc eax
jmp 0x4cab44
mov dword [esi], 0x59
jmp 0x4cabfa
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x4cafea
mov eax, ecx
sub eax, 0x3c
je 0x4cadc2
dec eax
je 0x4cadad
dec eax
jne 0x4cac75
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4cad95
mov dword [esi], 0x50
jmp 0x4cadd1
cmp eax, 0x3e
jne 0x4cada2
mov dword [esi], 0x55
jmp 0x4cadd1
mov dword [esi], 0x4d
jmp 0x4cabfa
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x4cafea
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4cadd9
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x4cafea
cmp eax, 0x3e
jne 0x4cade6
mov dword [esi], 0x4b
jmp 0x4cadd1
cmp eax, 0x3c
jne 0x4cadf3
mov dword [esi], 0x54
jmp 0x4cadd1
mov dword [esi], 0x4f
jmp 0x4cabfa
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
mov dl, 4
jmp 0x4cae14
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x539568], dl
jne 0x4cae0f
jmp 0x4cafea
mov eax, ecx
sub eax, 0x40
je 0x4caf71
sub eax, 0x18
je 0x4caeed
sub eax, 3
je 0x4caec3
sub eax, 5
je 0x4cae80
sub eax, 0x18
je 0x4caeed
sub eax, 4
je 0x4cae64
dec eax
dec eax
jne 0x4cac75
mov dword [esi], 0x5d
jmp 0x4cabfa
cmp byte [ebx + 1], 0x7c
je 0x4cae75
mov dword [esi], 0x53
jmp 0x4cabfa
mov dword [esi], 0x5b
jmp 0x4cadd1
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x4cae9c
cmp edx, ecx
jne 0x4cae97
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x4caea0
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x4cae89
cmp edx, 0x27
jne 0x4caeb0
mov dword [esi], 0x5e
jmp 0x4cadbc
test edx, edx
je 0x4cab17
mov dword [esi], 0x1a
jmp 0x4cadbc
xor eax, eax
inc eax
jmp 0x4caed1
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4caed6
inc eax
cmp ecx, 0x5d
jne 0x4caec8
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
jmp 0x4cafe8
cmp byte [ebx + 1], 0x27
jne 0x4cac75
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x4caf23
cmp ecx, 0x27
je 0x4caf27
movzx ecx, cl
test byte [ecx + 0x539568], 8
jne 0x4caf1e
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x4caf0b
mov edi, eax
and edi, 0x80000001
jns 0x4caf36
dec edi
or edi, 0xfffffffe
inc edi
jne 0x4caf40
test ecx, ecx
jne 0x4cadbc
mov dword [esi], edx
test ecx, ecx
je 0x4cafea
jmp 0x4cadbc
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x4caf5d
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x539568], 0x46
jne 0x4caf58
call fcn.004caa38
mov dword [esi], eax
mov eax, edi
jmp 0x4cafea
movzx ecx, byte [ebx + 1]
and dword [ebp - 4], 0
xor eax, eax
inc eax
mov dword [esi], 0x85
mov edx, 0x94
test ecx, ecx
je 0x4cafe8
movzx edi, cl
test byte [edi + 0x539568], 0x46
je 0x4caf9c
inc dword [ebp - 4]
jmp 0x4cafb3
cmp ecx, 0x28
jne 0x4cafa7
cmp dword [ebp - 4], 0
jg 0x4cafbe
cmp ecx, 0x3a
jne 0x4cafe2
cmp byte [ebx + eax + 1], cl
jne 0x4cafe2
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x4caf8b
jmp 0x4cafe2
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4cafd8
movzx edi, cl
test byte [edi + 0x539568], 1
jne 0x4cafd8
cmp ecx, 0x29
jne 0x4cafbe
cmp ecx, 0x29
jne 0x4cafe0
inc eax
jmp 0x4cafe2
mov dword [esi], edx
cmp dword [ebp - 4], 0
jne 0x4cafea
mov dword [esi], edx
pop edi
pop ebx
leave
ret