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

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push esi
push edi
mov dl, 4
jg 0x50fb2b
je 0x50fb14
cmp ecx, 0x26
jg 0x50fa85
je 0x50fa7a
cmp ecx, 0x22
jg 0x50fa1e
je 0x50fd8e
cmp ecx, 9
jl 0x50fb62
cmp ecx, 0xa
jle 0x50f9f9
cmp ecx, 0xb
jle 0x50fb62
cmp ecx, 0xd
jle 0x50f9f9
cmp ecx, 0x20
je 0x50f9f9
cmp ecx, 0x21
jne 0x50fb62
cmp byte [ebx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x50f9ee
mov dword [eax], 0x94
jmp 0x50fcd2
mov dword [eax], 0x4b
jmp 0x50fcd2
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x50fa07
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], 1
jne 0x50fa02
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x50ff0b
mov eax, ecx
sub eax, 0x23
je 0x50fa41
dec eax
je 0x50fe94
dec eax
jne 0x50fb62
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x50fad5
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x56c748], dl
je 0x50fe94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], dl
jne 0x50fa56
cmp eax, 1
jle 0x50fe94
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x84
jmp 0x50ff0b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x50fad5
mov eax, ecx
sub eax, 0x27
je 0x50fd8e
dec eax
je 0x50fb09
dec eax
je 0x50fafe
dec eax
je 0x50faf3
dec eax
je 0x50fae8
dec eax
je 0x50fadd
dec eax
jne 0x50fb62
cmp byte [ebx + 1], 0x2d
jne 0x50facc
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x50fac3
cmp ecx, 0xa
je 0x50fa10
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x50fab5
jmp 0x50fa10
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
xor eax, eax
inc eax
jmp 0x50ff0b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x50fad5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x50fad5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x50fad5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x50fad5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x50fad5
movzx eax, byte [ebx + 1]
test byte [eax + 0x56c748], dl
jne 0x50fb7d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x76
jmp 0x50fad5
cmp ecx, 0x3f
jg 0x50fd29
je 0x50fd03
cmp ecx, 0x3b
jg 0x50fc66
je 0x50fc59
cmp ecx, 0x2f
je 0x50fc18
jle 0x50fb62
cmp ecx, 0x39
jle 0x50fb7d
cmp ecx, 0x3a
je 0x50fe94
test byte [ecx + 0x56c748], 0x46
jne 0x50fe6f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
jmp 0x50fad5
mov esi, dword [ebp + 0xc]
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x50fb92
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], dl
jne 0x50fb8d
cmp byte [eax + ebx], 0x2e
jne 0x50fbb3
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], dl
jne 0x50fba0
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x50fbc0
cmp cl, 0x45
jne 0x50fc06
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x56c748], dl
jne 0x50fbe6
cmp cl, 0x2b
je 0x50fbd9
cmp cl, 0x2d
jne 0x50fc06
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x56c748], dl
je 0x50fc06
inc eax
inc eax
jmp 0x50fbeb
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], dl
jne 0x50fbea
mov dword [esi], 0x82
jmp 0x50fc06
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], 0x46
jne 0x50fbff
jmp 0x50ff0b
cmp byte [ebx + 1], 0x2a
jne 0x50fc4b
mov cl, byte [ebx + 2]
test cl, cl
je 0x50fc4b
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x50fc36
cmp byte [eax + ebx], 0x2f
je 0x50fc45
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x50fa10
inc eax
jmp 0x50fc2b
inc eax
jmp 0x50fa10
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x50fad5
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x50ff0b
mov eax, ecx
sub eax, 0x3c
je 0x50fcbe
dec eax
je 0x50fca6
dec eax
jne 0x50fb62
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x50fc8b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x50fcd0
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x50fc9b
mov dword [eax], 0x55
jmp 0x50fcd0
mov dword [eax], 0x4d
jmp 0x50fad5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x50ff0b
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x50fcd8
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
pop eax
jmp 0x50ff0b
cmp eax, 0x3e
jne 0x50fce8
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x50fcd0
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x50fcf8
mov dword [eax], 0x54
jmp 0x50fcd0
mov dword [eax], 0x4f
jmp 0x50fad5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x85
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
mov dl, 4
jmp 0x50fd1c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x56c748], dl
jne 0x50fd17
jmp 0x50ff0b
mov eax, ecx
sub eax, 0x40
je 0x50fe94
sub eax, 0x18
je 0x50fe0a
sub eax, 3
je 0x50fddb
sub eax, 5
je 0x50fd8e
sub eax, 0x18
je 0x50fe0a
sub eax, 4
je 0x50fd6f
dec eax
dec eax
jne 0x50fb62
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x50fad5
cmp byte [ebx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x50fd83
mov dword [eax], 0x53
jmp 0x50fad5
mov dword [eax], 0x5b
jmp 0x50fcd0
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x50fdaa
cmp edx, ecx
jne 0x50fda5
movzx esi, byte [ebx + eax + 1]
cmp esi, ecx
jne 0x50fdae
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x50fd97
mov ecx, dword [ebp + 0xc]
cmp edx, 0x27
jne 0x50fdc1
mov dword [ecx], 0x5e
jmp 0x50fcb8
test edx, edx
je 0x50fdd0
mov dword [ecx], 0x1a
jmp 0x50fcb8
mov dword [ecx], 0x94
jmp 0x50ff0b
xor eax, eax
inc eax
jmp 0x50fde9
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x50fdee
inc eax
cmp ecx, 0x5d
jne 0x50fde0
xor edx, edx
cmp ecx, 0x5d
mov ecx, dword [ebp + 0xc]
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [ecx], edx
jmp 0x50ff0b
cmp byte [ebx + 1], 0x27
jne 0x50fb62
mov edx, dword [ebp + 0xc]
push 2
mov dword [edx], 0x83
movzx ecx, byte [ebx + 2]
pop eax
mov esi, 0x94
jmp 0x50fe43
cmp ecx, 0x27
je 0x50fe47
movzx ecx, cl
test byte [ecx + 0x56c748], 8
jne 0x50fe3e
mov dword [edx], esi
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x50fe2b
mov edi, eax
and edi, 0x80000001
jns 0x50fe56
dec edi
or edi, 0xfffffffe
inc edi
jne 0x50fe60
test ecx, ecx
jne 0x50fcb8
mov dword [edx], esi
test ecx, ecx
je 0x50ff0b
jmp 0x50fcb8
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x50fe7d
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x56c748], 0x46
jne 0x50fe78
call fcn.0050f8ed
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, edi
jmp 0x50ff0b
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x85
movzx ecx, byte [ebx + 1]
xor eax, eax
xor esi, esi
inc eax
test ecx, ecx
je 0x50ff05
movzx edi, cl
test byte [edi + 0x56c748], 0x46
je 0x50feb9
inc esi
jmp 0x50fece
cmp ecx, 0x28
jne 0x50fec2
test esi, esi
jg 0x50fed9
cmp ecx, 0x3a
jne 0x50ff01
cmp byte [ebx + eax + 1], cl
jne 0x50ff01
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x50feaa
jmp 0x50ff01
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x50fef3
movzx edi, cl
test byte [edi + 0x56c748], 1
jne 0x50fef3
cmp ecx, 0x29
jne 0x50fed9
cmp ecx, 0x29
jne 0x50fefb
inc eax
jmp 0x50ff01
mov dword [edx], 0x94
test esi, esi
jne 0x50ff0b
mov dword [edx], 0x94
pop edi
pop esi
pop ebx
pop ebp
ret