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

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x46e820
je 0x46e80c
cmp ecx, 0x26
jg 0x46e78f
je 0x46e787
cmp ecx, 0x22
jg 0x46e731
je 0x46ea59
cmp ecx, 9
jl 0x46e857
cmp ecx, 0xa
jle 0x46e70f
cmp ecx, 0xb
jle 0x46e857
cmp ecx, 0xd
jle 0x46e70f
cmp ecx, 0x20
je 0x46e70f
cmp ecx, 0x21
jne 0x46e857
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x46ebba
mov dword [esi], 0x4b
jmp 0x46ebc0
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x46e71d
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], 1
jne 0x46e718
mov dword [esi], 0x95
jmp 0x46ebc0
mov eax, ecx
sub eax, 0x23
je 0x46e751
dec eax
je 0x46eb4c
dec eax
jne 0x46e857
mov dword [esi], 0x5a
jmp 0x46e7dc
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x4bcdb0], dl
je 0x46eb4c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], dl
jne 0x46e766
cmp eax, 1
jle 0x46eb4c
mov dword [esi], 0x84
jmp 0x46ebc0
mov dword [esi], 0x52
jmp 0x46e7dc
mov eax, ecx
sub eax, 0x27
je 0x46ea59
dec eax
je 0x46e804
dec eax
je 0x46e7fc
dec eax
je 0x46e7f4
dec eax
je 0x46e7ec
dec eax
je 0x46e7e4
dec eax
jne 0x46e857
cmp byte [ebx + 1], 0x2d
jne 0x46e7d6
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x46e7cd
cmp ecx, 0xa
je 0x46e726
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x46e7bf
jmp 0x46e726
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x46ebc0
mov dword [esi], 0x19
jmp 0x46e7dc
mov dword [esi], 0x56
jmp 0x46e7dc
mov dword [esi], 0x58
jmp 0x46e7dc
mov dword [esi], 0x17
jmp 0x46e7dc
mov dword [esi], 0x16
jmp 0x46e7dc
movzx eax, byte [ebx + 1]
test byte [eax + 0x4bcdb0], dl
jne 0x46e86c
mov dword [esi], 0x76
jmp 0x46e7dc
cmp ecx, 0x3f
jg 0x46e9fa
je 0x46e9d7
cmp ecx, 0x3b
jg 0x46e94c
je 0x46e942
cmp ecx, 0x2f
je 0x46e904
jle 0x46e857
cmp ecx, 0x39
jle 0x46e86c
cmp ecx, 0x3a
je 0x46eb4c
test byte [ecx + 0x4bcdb0], 0x46
jne 0x46eb2a
xor eax, eax
inc eax
jmp 0x46ebba
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x46e87e
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], dl
jne 0x46e879
cmp byte [eax + ebx], 0x2e
jne 0x46e89f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], dl
jne 0x46e88c
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x46e8ac
cmp cl, 0x45
jne 0x46e8f2
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4bcdb0], dl
jne 0x46e8d2
cmp cl, 0x2b
je 0x46e8c5
cmp cl, 0x2d
jne 0x46e8f2
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4bcdb0], dl
je 0x46e8f2
inc eax
inc eax
jmp 0x46e8d7
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], dl
jne 0x46e8d6
mov dword [esi], 0x82
jmp 0x46e8f2
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], 0x46
jne 0x46e8eb
jmp 0x46ebc0
cmp byte [ebx + 1], 0x2a
jne 0x46e937
mov cl, byte [ebx + 2]
test cl, cl
je 0x46e937
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x46e922
cmp byte [eax + ebx], 0x2f
je 0x46e931
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46e726
inc eax
jmp 0x46e917
inc eax
jmp 0x46e726
mov dword [esi], 0x59
jmp 0x46e7dc
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x46ebc0
mov eax, ecx
sub eax, 0x3c
je 0x46e99b
dec eax
je 0x46e986
dec eax
jne 0x46e857
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x46e96e
mov dword [esi], 0x50
jmp 0x46e9aa
cmp eax, 0x3e
jne 0x46e97b
mov dword [esi], 0x55
jmp 0x46e9aa
mov dword [esi], 0x4d
jmp 0x46e7dc
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x46ebc0
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x46e9b2
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x46ebc0
cmp eax, 0x3e
jne 0x46e9bf
mov dword [esi], 0x4b
jmp 0x46e9aa
cmp eax, 0x3c
jne 0x46e9cc
mov dword [esi], 0x54
jmp 0x46e9aa
mov dword [esi], 0x4f
jmp 0x46e7dc
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x46e9ed
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], dl
jne 0x46e9e8
jmp 0x46ebc0
mov eax, ecx
sub eax, 0x40
je 0x46eb4c
sub eax, 0x18
je 0x46eac8
sub eax, 3
je 0x46ea9c
sub eax, 5
je 0x46ea59
sub eax, 0x18
je 0x46eac8
sub eax, 4
je 0x46ea3d
dec eax
dec eax
jne 0x46e857
mov dword [esi], 0x5d
jmp 0x46e7dc
cmp byte [ebx + 1], 0x7c
je 0x46ea4e
mov dword [esi], 0x53
jmp 0x46e7dc
mov dword [esi], 0x5b
jmp 0x46e9aa
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x46ea75
cmp edx, ecx
jne 0x46ea70
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x46ea79
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x46ea62
cmp edx, 0x27
jne 0x46ea89
mov dword [esi], 0x5e
jmp 0x46e995
test edx, edx
je 0x46ebba
mov dword [esi], 0x1a
jmp 0x46e995
xor eax, eax
inc eax
jmp 0x46eaaa
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46eaaf
inc eax
cmp ecx, 0x5d
jne 0x46eaa1
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x46ebc0
cmp byte [ebx + 1], 0x27
jne 0x46e857
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x46eae6
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4bcdb0], 8
jne 0x46eae1
cmp byte [eax + ebx], 0x27
jne 0x46eb06
mov ecx, eax
and ecx, 0x80000001
jns 0x46eb04
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x46eb1b
mov dword [esi], 0x94
jmp 0x46eb14
cmp cl, 0x27
je 0x46eb1b
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x46eb0e
cmp byte [eax + ebx], 0
je 0x46ebc0
jmp 0x46e995
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x46eb38
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4bcdb0], 0x46
jne 0x46eb33
call fcn.0046e623
mov dword [esi], eax
mov eax, edi
jmp 0x46ebc0
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x46ebba
movzx edi, cl
test byte [edi + 0x4bcdb0], 0x46
je 0x46eb6e
inc edx
jmp 0x46eb83
cmp ecx, 0x28
jne 0x46eb77
test edx, edx
jg 0x46eb8e
cmp ecx, 0x3a
jne 0x46ebb6
cmp byte [ebx + eax + 1], cl
jne 0x46ebb6
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x46eb5f
jmp 0x46ebb6
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46eba8
movzx edi, cl
test byte [edi + 0x4bcdb0], 1
jne 0x46eba8
cmp ecx, 0x29
jne 0x46eb8e
cmp ecx, 0x29
jne 0x46ebb0
inc eax
jmp 0x46ebb6
mov dword [esi], 0x94
test edx, edx
jne 0x46ebc0
mov dword [esi], 0x94
pop edi
pop ebx
ret