Function at 0x46e4be
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 0x46e64e
je 0x46e63a
cmp ecx, 0x26
jg 0x46e5bd
je 0x46e5b5
cmp ecx, 0x22
jg 0x46e55f
je 0x46e890
cmp ecx, 9
jl 0x46e685
cmp ecx, 0xa
jle 0x46e53d
cmp ecx, 0xb
jle 0x46e685
cmp ecx, 0xd
jle 0x46e53d
cmp ecx, 0x20
je 0x46e53d
cmp ecx, 0x21
jne 0x46e685
cmp byte [ebx + 1], 0x3d
push 2
pop eax
je 0x46e532
mov dword [esi], 0x94
jmp 0x46e9fa
mov dword [esi], 0x4b
jmp 0x46e9fa
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x46e54b
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], 1
jne 0x46e546
mov dword [esi], 0x95
jmp 0x46e9fa
mov eax, ecx
sub eax, 0x23
je 0x46e57f
dec eax
je 0x46e981
dec eax
jne 0x46e685
mov dword [esi], 0x5a
jmp 0x46e60a
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x4ee440], dl
je 0x46e981
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], dl
jne 0x46e594
cmp eax, 1
jle 0x46e981
mov dword [esi], 0x84
jmp 0x46e9fa
mov dword [esi], 0x52
jmp 0x46e60a
mov eax, ecx
sub eax, 0x27
je 0x46e890
dec eax
je 0x46e632
dec eax
je 0x46e62a
dec eax
je 0x46e622
dec eax
je 0x46e61a
dec eax
je 0x46e612
dec eax
jne 0x46e685
cmp byte [ebx + 1], 0x2d
jne 0x46e604
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x46e5fb
cmp ecx, 0xa
je 0x46e554
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x46e5ed
jmp 0x46e554
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x46e9fa
mov dword [esi], 0x19
jmp 0x46e60a
mov dword [esi], 0x56
jmp 0x46e60a
mov dword [esi], 0x58
jmp 0x46e60a
mov dword [esi], 0x17
jmp 0x46e60a
mov dword [esi], 0x16
jmp 0x46e60a
movzx eax, byte [ebx + 1]
test byte [eax + 0x4ee440], dl
jne 0x46e69d
mov dword [esi], 0x76
jmp 0x46e60a
cmp ecx, 0x3f
jg 0x46e831
je 0x46e80e
cmp ecx, 0x3b
jg 0x46e783
je 0x46e779
cmp ecx, 0x2f
je 0x46e73b
jle 0x46e685
cmp ecx, 0x39
jle 0x46e69d
cmp ecx, 0x3a
je 0x46e981
test byte [ecx + 0x4ee440], 0x46
jne 0x46e95f
mov dword [esi], 0x94
jmp 0x46e60a
mov dword [esi], 0x81
xor eax, eax
jmp 0x46e6ac
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], dl
jne 0x46e6a7
cmp byte [eax + ebx], 0x2e
jne 0x46e6cd
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], dl
jne 0x46e6ba
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x46e6da
cmp cl, 0x45
jne 0x46e717
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4ee440], dl
jne 0x46e700
cmp cl, 0x2b
je 0x46e6f3
cmp cl, 0x2d
jne 0x46e717
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4ee440], dl
je 0x46e717
inc eax
inc eax
jmp 0x46e705
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], dl
jne 0x46e704
mov dword [esi], 0x82
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], 0x46
je 0x46e9fa
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], 0x46
jne 0x46e728
jmp 0x46e527
cmp byte [ebx + 1], 0x2a
jne 0x46e76e
mov cl, byte [ebx + 2]
test cl, cl
je 0x46e76e
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x46e759
cmp byte [eax + ebx], 0x2f
je 0x46e768
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46e554
inc eax
jmp 0x46e74e
inc eax
jmp 0x46e554
mov dword [esi], 0x59
jmp 0x46e60a
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x46e9fa
mov eax, ecx
sub eax, 0x3c
je 0x46e7d2
dec eax
je 0x46e7bd
dec eax
jne 0x46e685
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x46e7a5
mov dword [esi], 0x50
jmp 0x46e7e1
cmp eax, 0x3e
jne 0x46e7b2
mov dword [esi], 0x55
jmp 0x46e7e1
mov dword [esi], 0x4d
jmp 0x46e60a
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x46e9fa
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x46e7e9
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x46e9fa
cmp eax, 0x3e
jne 0x46e7f6
mov dword [esi], 0x4b
jmp 0x46e7e1
cmp eax, 0x3c
jne 0x46e803
mov dword [esi], 0x54
jmp 0x46e7e1
mov dword [esi], 0x4f
jmp 0x46e60a
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
mov dl, 4
jmp 0x46e824
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ee440], dl
jne 0x46e81f
jmp 0x46e9fa
mov eax, ecx
sub eax, 0x40
je 0x46e981
sub eax, 0x18
je 0x46e8fd
sub eax, 3
je 0x46e8d3
sub eax, 5
je 0x46e890
sub eax, 0x18
je 0x46e8fd
sub eax, 4
je 0x46e874
dec eax
dec eax
jne 0x46e685
mov dword [esi], 0x5d
jmp 0x46e60a
cmp byte [ebx + 1], 0x7c
je 0x46e885
mov dword [esi], 0x53
jmp 0x46e60a
mov dword [esi], 0x5b
jmp 0x46e7e1
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x46e8ac
cmp edx, ecx
jne 0x46e8a7
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x46e8b0
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x46e899
cmp edx, 0x27
jne 0x46e8c0
mov dword [esi], 0x5e
jmp 0x46e7cc
test edx, edx
je 0x46e527
mov dword [esi], 0x1a
jmp 0x46e7cc
xor eax, eax
inc eax
jmp 0x46e8e1
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46e8e6
inc eax
cmp ecx, 0x5d
jne 0x46e8d8
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
jmp 0x46e9f8
cmp byte [ebx + 1], 0x27
jne 0x46e685
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x46e933
cmp ecx, 0x27
je 0x46e937
movzx ecx, cl
test byte [ecx + 0x4ee440], 8
jne 0x46e92e
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x46e91b
mov edi, eax
and edi, 0x80000001
jns 0x46e946
dec edi
or edi, 0xfffffffe
inc edi
jne 0x46e950
test ecx, ecx
jne 0x46e7cc
mov dword [esi], edx
test ecx, ecx
je 0x46e9fa
jmp 0x46e7cc
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x46e96d
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4ee440], 0x46
jne 0x46e968
call fcn.0046e448
mov dword [esi], eax
mov eax, edi
jmp 0x46e9fa
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 0x46e9f8
movzx edi, cl
test byte [edi + 0x4ee440], 0x46
je 0x46e9ac
inc dword [ebp - 4]
jmp 0x46e9c3
cmp ecx, 0x28
jne 0x46e9b7
cmp dword [ebp - 4], 0
jg 0x46e9ce
cmp ecx, 0x3a
jne 0x46e9f2
cmp byte [ebx + eax + 1], cl
jne 0x46e9f2
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x46e99b
jmp 0x46e9f2
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46e9e8
movzx edi, cl
test byte [edi + 0x4ee440], 1
jne 0x46e9e8
cmp ecx, 0x29
jne 0x46e9ce
cmp ecx, 0x29
jne 0x46e9f0
inc eax
jmp 0x46e9f2
mov dword [esi], edx
cmp dword [ebp - 4], 0
jne 0x46e9fa
mov dword [esi], edx
pop edi
pop ebx
leave
ret