Function at 0x434684
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
xor ebx, ebx
mov dword [ebp - 8], esi
inc ebx
mov dl, byte [edi]
movzx ecx, dl
cmp ecx, 0x2e
jg 0x434835
je 0x43481a
cmp ecx, 0x26
jg 0x43479b
je 0x434793
cmp ecx, 0x22
jg 0x434732
je 0x434ad2
cmp ecx, 9
jl 0x434b45
cmp ecx, 0xa
jle 0x43470d
cmp ecx, 0xb
jle 0x434b45
cmp ecx, 0xd
jle 0x43470d
cmp ecx, 0x20
je 0x43470d
cmp ecx, 0x21
jne 0x434b45
cmp byte [edi + 1], 0x3d
push 2
pop eax
je 0x434702
mov dword [esi], 0x90
jmp 0x434c26
mov dword [esi], 0x43
jmp 0x434c26
movzx eax, byte [edi + 1]
xor ebx, ebx
inc ebx
push eax
jmp 0x43471d
inc ebx
movzx ecx, byte [ebx + edi]
push ecx
call fcn.004a74d2
pop ecx
test eax, eax
jne 0x434717
mov dword [esi], 0x91
jmp 0x434c24
mov eax, ecx
sub eax, 0x23
je 0x434752
dec eax
je 0x434870
dec eax
jne 0x434b45
mov dword [esi], 0x52
jmp 0x4347ea
movzx eax, byte [edi + 1]
push eax
call fcn.004a7451
pop ecx
test eax, eax
je 0x434870
mov esi, ebx
inc esi
movzx eax, byte [esi + edi]
push eax
call fcn.004a7451
pop ecx
test eax, eax
jne 0x434767
mov dword [ebp - 4], esi
cmp esi, ebx
mov esi, dword [ebp - 8]
jle 0x434870
mov eax, dword [ebp - 4]
mov dword [esi], 0x7f
jmp 0x434c26
mov dword [esi], 0x4a
jmp 0x4347ea
mov eax, ecx
sub eax, 0x27
je 0x434ad2
dec eax
je 0x434812
dec eax
je 0x43480a
dec eax
je 0x434802
dec eax
je 0x4347fa
dec eax
je 0x4347f2
dec eax
jne 0x434b45
cmp byte [edi + 1], 0x2d
jne 0x4347e4
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x4347d5
cmp ecx, 0xa
je 0x4347d9
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x4347cb
mov dword [esi], 0x93
jmp 0x434c26
mov dword [esi], 0x4f
xor eax, eax
inc eax
jmp 0x434c26
mov dword [esi], 0x16
jmp 0x4347ea
mov dword [esi], 0x4e
jmp 0x4347ea
mov dword [esi], 0x50
jmp 0x4347ea
mov dword [esi], 0x14
jmp 0x4347ea
mov dword [esi], 0x13
jmp 0x4347ea
movzx eax, byte [edi + 1]
push eax
call fcn.004a7451
pop ecx
test eax, eax
jne 0x4348c7
mov dword [esi], 0x70
jmp 0x4347ea
cmp ecx, 0x3f
jg 0x434a73
je 0x434a4c
cmp ecx, 0x3b
jg 0x4349c1
je 0x4349b7
cmp ecx, 0x2f
je 0x434979
jle 0x434b45
cmp ecx, 0x39
jle 0x4348c7
cmp ecx, 0x3a
jne 0x434b45
movzx eax, byte [edi + 1]
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [esi], 0x80
test eax, eax
je 0x434c1e
test al, al
js 0x434bd7
cmp eax, 0x1f
jle 0x4348a1
cmp byte [eax + 0x4de130], 0
jne 0x434bd7
cmp eax, 0x28
jne 0x4348ae
test ecx, ecx
jg 0x434bea
cmp eax, 0x3a
jne 0x434c1a
cmp byte [edi + ebx + 1], al
jne 0x434c1a
inc ebx
jmp 0x434bdb
movzx eax, byte [edi]
xor ebx, ebx
mov dword [esi], 0x7c
jmp 0x4348d9
inc ebx
movzx eax, byte [ebx + edi]
push eax
call fcn.004a7451
pop ecx
test eax, eax
jne 0x4348d4
cmp byte [ebx + edi], 0x2e
jne 0x434900
inc ebx
movzx eax, byte [ebx + edi]
push eax
call fcn.004a7451
pop ecx
test eax, eax
jne 0x4348ea
mov dword [esi], 0x7d
mov al, byte [ebx + edi]
cmp al, 0x65
je 0x43490b
cmp al, 0x45
jne 0x434952
movzx eax, byte [ebx + edi + 1]
push eax
call fcn.004a7451
pop ecx
test eax, eax
jne 0x434937
mov al, byte [ebx + edi + 1]
cmp al, 0x2b
je 0x434927
cmp al, 0x2d
jne 0x434952
movzx eax, byte [ebx + edi + 2]
push eax
call fcn.004a7451
pop ecx
test eax, eax
je 0x434952
add ebx, 2
jmp 0x43493d
inc ebx
movzx eax, byte [ebx + edi]
push eax
call fcn.004a7451
pop ecx
test eax, eax
jne 0x43493c
mov dword [esi], 0x7d
movzx eax, byte [ebx + edi]
test al, al
js 0x434970
cmp eax, 0x1f
jle 0x434c24
cmp byte [eax + 0x4de130], 0
je 0x434c24
mov dword [esi], 0x90
inc ebx
jmp 0x434952
cmp byte [edi + 1], 0x2a
jne 0x4349ac
mov cl, byte [edi + 2]
test cl, cl
je 0x4349ac
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x434997
cmp byte [eax + edi], 0x2f
je 0x4349a6
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x4347d9
inc eax
jmp 0x43498c
inc eax
jmp 0x4347d9
mov dword [esi], 0x51
jmp 0x4347ea
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0x434c24
mov eax, ecx
sub eax, 0x3c
je 0x434a10
dec eax
je 0x4349fb
dec eax
jne 0x434b45
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x4349e3
mov dword [esi], 0x48
jmp 0x434a1f
cmp eax, 0x3e
jne 0x4349f0
mov dword [esi], 0x4d
jmp 0x434a1f
mov dword [esi], 0x45
jmp 0x4347ea
xor eax, eax
mov dword [esi], 0x44
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0x434c26
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x434a27
mov dword [esi], 0x46
push 2
pop eax
jmp 0x434c26
cmp eax, 0x3e
jne 0x434a34
mov dword [esi], 0x43
jmp 0x434a1f
cmp eax, 0x3c
jne 0x434a41
mov dword [esi], 0x4c
jmp 0x434a1f
mov dword [esi], 0x47
jmp 0x4347ea
movzx eax, byte [edi + 1]
mov dword [esi], 0x80
xor esi, esi
inc esi
push eax
jmp 0x434a62
inc esi
movzx ecx, byte [esi + edi]
push ecx
call fcn.004a7451
pop ecx
test eax, eax
jne 0x434a5c
mov eax, esi
jmp 0x434c26
mov eax, ecx
sub eax, 0x40
je 0x434870
sub eax, 0x18
je 0x434b34
sub eax, 3
je 0x434b13
sub eax, 5
je 0x434ad2
sub eax, 0x18
je 0x434b34
sub eax, 4
je 0x434ab6
dec eax
dec eax
jne 0x434b45
mov dword [esi], 0x57
jmp 0x4347ea
cmp byte [edi + 1], 0x7c
je 0x434ac7
mov dword [esi], 0x4b
jmp 0x4347ea
mov dword [esi], 0x53
jmp 0x434a1f
movzx ebx, byte [edi + 1]
xor edx, edx
inc edx
test ebx, ebx
je 0x434b06
cmp ebx, ecx
jne 0x434aeb
movzx eax, byte [edi + edx + 1]
cmp eax, ecx
jne 0x434af4
inc edx
inc edx
movzx ebx, byte [edx + edi]
test ebx, ebx
jne 0x434add
test ebx, ebx
je 0x434b06
mov dword [esi], 0x58
lea eax, [edx + 1]
jmp 0x434c26
mov dword [esi], 0x90
mov eax, edx
jmp 0x434c26
xor eax, eax
inc eax
cmp dl, 0x5d
je 0x434b29
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x434b29
inc eax
cmp ecx, 0x5d
jne 0x434b1b
mov dword [esi], 0x17
jmp 0x434c26
movzx eax, byte [edi + 1]
mov dword [ebp - 8], eax
cmp eax, 0x27
je 0x434b8e
cmp eax, 0x22
je 0x434b8e
test cl, cl
js 0x434b62
cmp ecx, 0x1f
jle 0x434b57
cmp byte [ecx + 0x4de130], 0
jne 0x434b62
mov dword [esi], 0x90
jmp 0x4347ea
xor ebx, ebx
inc ebx
movzx eax, byte [ebx + edi]
test al, al
js 0x434b7b
cmp eax, 0x1f
jle 0x434b7e
cmp byte [eax + 0x4de130], 0
je 0x434b7e
inc ebx
jmp 0x434b65
mov edx, ebx
mov ecx, edi
call fcn.00434604
mov dword [esi], eax
jmp 0x434c24
movzx ecx, byte [edi + 2]
push 2
mov dword [esi], 0x7e
pop ebx
jmp 0x434bb4
cmp ecx, eax
je 0x434bba
push ecx
call fcn.004a7528
pop ecx
test eax, eax
je 0x434c1e
mov eax, dword [ebp - 8]
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
jne 0x434b9d
jmp 0x434c24
mov eax, ebx
and eax, 0x80000001
jns 0x434bc8
dec eax
or eax, 0xfffffffe
inc eax
je 0x434bd0
mov dword [esi], 0x90
test ecx, ecx
je 0x434c24
inc ebx
jmp 0x434c24
inc ecx
mov dword [ebp - 4], ecx
inc ebx
movzx eax, byte [ebx + edi]
test eax, eax
jne 0x434887
jmp 0x434c1a
inc ebx
movzx eax, byte [ebx + edi]
mov dword [ebp - 8], eax
test eax, eax
je 0x434c09
push eax
call fcn.004a74d2
test eax, eax
mov eax, dword [ebp - 8]
pop ecx
jne 0x434c09
cmp eax, 0x29
jne 0x434bea
mov ecx, dword [ebp - 4]
cmp eax, 0x29
jne 0x434c14
inc ebx
jmp 0x434c1a
mov dword [esi], 0x90
test ecx, ecx
jne 0x434c24
mov dword [esi], 0x90
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret