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

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov esi, edx
inc ebx
push 4
pop ecx
movzx edx, byte [edi]
cmp edx, 0x2e
jg 0x4a96ef
je 0x4a96db
cmp edx, 0x26
jg 0x4a965c
je 0x4a9654
cmp edx, 0x22
jg 0x4a9603
je 0x4a9946
cmp edx, 9
jl 0x4a9726
cmp edx, 0xa
jle 0x4a95d9
cmp edx, 0xb
jle 0x4a9726
cmp edx, 0xd
jle 0x4a95d9
cmp edx, 0x20
je 0x4a95d9
cmp edx, 0x21
jne 0x4a9726
cmp byte [edi + 1], 0x3d
push 2
pop eax
je 0x4a95ce
mov dword [esi], 0x94
jmp 0x4a9ab6
mov dword [esi], 0x4b
jmp 0x4a9ab6
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x5180a0], dl
je 0x4a95f6
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5180a0], 1
jne 0x4a95e8
mov dword [esi], 0x95
mov eax, edx
jmp 0x4a9ab6
mov eax, edx
sub eax, 0x23
je 0x4a9623
dec eax
je 0x4a9a46
dec eax
jne 0x4a9726
mov dword [esi], 0x5a
jmp 0x4a96ab
movzx eax, byte [edi + 1]
mov edx, ebx
test byte [eax + 0x5180a0], 4
je 0x4a9a46
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5180a0], 4
jne 0x4a9636
cmp edx, ebx
jle 0x4a9a46
mov dword [esi], 0x84
jmp 0x4a95fc
mov dword [esi], 0x52
jmp 0x4a96ab
mov eax, edx
sub eax, 0x27
je 0x4a9946
dec eax
je 0x4a96d3
dec eax
je 0x4a96cb
dec eax
je 0x4a96c3
dec eax
je 0x4a96bb
dec eax
je 0x4a96b3
dec eax
jne 0x4a9726
cmp byte [edi + 1], 0x2d
jne 0x4a96a5
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x4a9696
cmp ecx, 0xa
je 0x4a969a
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x4a968c
mov dword [esi], 0x95
jmp 0x4a9ab6
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x4a9ab6
mov dword [esi], 0x19
jmp 0x4a96ab
mov dword [esi], 0x56
jmp 0x4a96ab
mov dword [esi], 0x58
jmp 0x4a96ab
mov dword [esi], 0x17
jmp 0x4a96ab
mov dword [esi], 0x16
jmp 0x4a96ab
movzx eax, byte [edi + 1]
test byte [eax + 0x5180a0], cl
jne 0x4a973e
mov dword [esi], 0x76
jmp 0x4a96ab
cmp edx, 0x3f
jg 0x4a98e7
je 0x4a98ba
cmp edx, 0x3b
jg 0x4a982f
je 0x4a9825
cmp edx, 0x2f
je 0x4a97e7
jle 0x4a9726
cmp edx, 0x39
jle 0x4a973e
cmp edx, 0x3a
je 0x4a9a46
test byte [edx + 0x5180a0], 0x46
jne 0x4a9a1b
mov dword [esi], 0x94
jmp 0x4a96ab
xor ebx, ebx
mov dword [esi], 0x81
test byte [edx + 0x5180a0], cl
je 0x4a975b
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x5180a0], cl
jne 0x4a974e
cmp byte [ebx + edi], 0x2e
jne 0x4a9774
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x5180a0], cl
jne 0x4a9761
mov dword [esi], 0x82
mov al, byte [ebx + edi]
cmp al, 0x65
je 0x4a977f
cmp al, 0x45
jne 0x4a97bd
mov dl, byte [ebx + edi + 1]
movzx eax, dl
test byte [eax + 0x5180a0], cl
jne 0x4a97a5
cmp dl, 0x2b
je 0x4a9798
cmp dl, 0x2d
jne 0x4a97bd
movzx eax, byte [ebx + edi + 2]
test byte [eax + 0x5180a0], cl
je 0x4a97bd
add ebx, 2
jmp 0x4a97ab
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x5180a0], cl
jne 0x4a97aa
mov dword [esi], 0x82
movzx eax, byte [ebx + edi]
test byte [eax + 0x5180a0], 0x46
je 0x4a9ab4
inc ebx
mov dword [esi], 0x94
movzx ecx, byte [ebx + edi]
test byte [ecx + 0x5180a0], 0x46
jne 0x4a97ce
jmp 0x4a9ab4
cmp byte [edi + 1], 0x2a
jne 0x4a981a
mov cl, byte [edi + 2]
test cl, cl
je 0x4a981a
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x4a9805
cmp byte [eax + edi], 0x2f
je 0x4a9814
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x4a969a
inc eax
jmp 0x4a97fa
inc eax
jmp 0x4a969a
mov dword [esi], 0x59
jmp 0x4a96ab
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0x4a9ab4
mov eax, edx
sub eax, 0x3c
je 0x4a987e
dec eax
je 0x4a9869
dec eax
jne 0x4a9726
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x4a9851
mov dword [esi], 0x50
jmp 0x4a988d
cmp eax, 0x3e
jne 0x4a985e
mov dword [esi], 0x55
jmp 0x4a988d
mov dword [esi], 0x4d
jmp 0x4a96ab
xor eax, eax
mov dword [esi], 0x4c
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0x4a9ab6
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x4a9895
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x4a9ab6
cmp eax, 0x3e
jne 0x4a98a2
mov dword [esi], 0x4b
jmp 0x4a988d
cmp eax, 0x3c
jne 0x4a98af
mov dword [esi], 0x54
jmp 0x4a988d
mov dword [esi], 0x4f
jmp 0x4a96ab
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
mov dword [esi], 0x85
test byte [eax + 0x5180a0], 4
je 0x4a95fc
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5180a0], 4
jne 0x4a98d4
jmp 0x4a95fc
mov eax, edx
sub eax, 0x40
je 0x4a9a46
sub eax, 0x18
je 0x4a99ba
sub eax, 3
je 0x4a9992
sub eax, 5
je 0x4a9946
sub eax, 0x18
je 0x4a99ba
sub eax, 4
je 0x4a992a
dec eax
dec eax
jne 0x4a9726
mov dword [esi], 0x5d
jmp 0x4a96ab
cmp byte [edi + 1], 0x7c
je 0x4a993b
mov dword [esi], 0x53
jmp 0x4a96ab
mov dword [esi], 0x5b
jmp 0x4a988d
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0x4a9962
cmp ebx, edx
jne 0x4a995d
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0x4a9966
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0x4a994f
cmp ebx, 0x27
jne 0x4a9979
mov dword [esi], 0x5e
lea eax, [ecx + 1]
jmp 0x4a9ab6
test ebx, ebx
je 0x4a9985
mov dword [esi], 0x1a
jmp 0x4a9971
mov dword [esi], 0x94
mov eax, ecx
jmp 0x4a9ab6
xor eax, eax
inc eax
jmp 0x4a99a0
movzx edx, byte [eax + edi]
test edx, edx
je 0x4a99a5
inc eax
cmp edx, 0x5d
jne 0x4a9997
push 0x1a
cmp edx, 0x5d
mov ecx, 0x94
pop edi
cmove ecx, edi
mov dword [esi], ecx
jmp 0x4a9ab6
cmp byte [edi + 1], 0x27
jne 0x4a9726
movzx edx, byte [edi + 2]
push 2
mov dword [esi], 0x83
pop ecx
jmp 0x4a99ef
cmp edx, 0x27
je 0x4a99f3
movzx eax, dl
test byte [eax + 0x5180a0], 8
jne 0x4a99ea
mov dword [esi], 0x94
inc ecx
movzx edx, byte [ecx + edi]
test edx, edx
jne 0x4a99d3
mov eax, ecx
and eax, 0x80000001
jns 0x4a9a01
dec eax
or eax, 0xfffffffe
inc eax
jne 0x4a9a07
test edx, edx
jne 0x4a9a15
mov dword [esi], 0x94
test edx, edx
je 0x4a998b
inc ecx
jmp 0x4a998b
movzx eax, byte [edi + 1]
xor ebx, ebx
inc ebx
test byte [eax + 0x5180a0], 0x46
je 0x4a9a39
inc ebx
movzx ecx, byte [ebx + edi]
test byte [ecx + 0x5180a0], 0x46
jne 0x4a9a2b
mov edx, ebx
mov ecx, edi
call fcn.004a94d7
mov dword [esi], eax
jmp 0x4a9ab4
movzx ecx, byte [edi + 1]
xor edx, edx
mov dword [esi], 0x85
test ecx, ecx
je 0x4a9aae
movzx eax, cl
test byte [eax + 0x5180a0], 0x46
je 0x4a9a65
inc edx
jmp 0x4a9a7a
cmp ecx, 0x28
jne 0x4a9a6e
test edx, edx
jg 0x4a9a85
cmp ecx, 0x3a
jne 0x4a9aaa
cmp byte [edi + ebx + 1], cl
jne 0x4a9aaa
inc ebx
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
jne 0x4a9a56
jmp 0x4a9aaa
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
je 0x4a9a9c
test byte [ecx + 0x5180a0], 1
jne 0x4a9a9c
cmp ecx, 0x29
jne 0x4a9a85
cmp ecx, 0x29
jne 0x4a9aa4
inc ebx
jmp 0x4a9aaa
mov dword [esi], 0x94
test edx, edx
jne 0x4a9ab4
mov dword [esi], 0x94
mov eax, ebx
pop edi
pop esi
pop ebx
ret