Function at 0x434aca
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 0x434c7b
je 0x434c60
cmp ecx, 0x26
jg 0x434be1
je 0x434bd9
cmp ecx, 0x22
jg 0x434b78
je 0x434f18
cmp ecx, 9
jl 0x434f8b
cmp ecx, 0xa
jle 0x434b53
cmp ecx, 0xb
jle 0x434f8b
cmp ecx, 0xd
jle 0x434b53
cmp ecx, 0x20
je 0x434b53
cmp ecx, 0x21
jne 0x434f8b
cmp byte [edi + 1], 0x3d
push 2
pop eax
je 0x434b48
mov dword [esi], 0x90
jmp 0x43506c
mov dword [esi], 0x43
jmp 0x43506c
movzx eax, byte [edi + 1]
xor ebx, ebx
inc ebx
push eax
jmp 0x434b63
inc ebx
movzx ecx, byte [ebx + edi]
push ecx
call fcn.004a6762
pop ecx
test eax, eax
jne 0x434b5d
mov dword [esi], 0x91
jmp 0x43506a
mov eax, ecx
sub eax, 0x23
je 0x434b98
dec eax
je 0x434cb6
dec eax
jne 0x434f8b
mov dword [esi], 0x52
jmp 0x434c30
movzx eax, byte [edi + 1]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
je 0x434cb6
mov esi, ebx
inc esi
movzx eax, byte [esi + edi]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434bad
mov dword [ebp - 4], esi
cmp esi, ebx
mov esi, dword [ebp - 8]
jle 0x434cb6
mov eax, dword [ebp - 4]
mov dword [esi], 0x7f
jmp 0x43506c
mov dword [esi], 0x4a
jmp 0x434c30
mov eax, ecx
sub eax, 0x27
je 0x434f18
dec eax
je 0x434c58
dec eax
je 0x434c50
dec eax
je 0x434c48
dec eax
je 0x434c40
dec eax
je 0x434c38
dec eax
jne 0x434f8b
cmp byte [edi + 1], 0x2d
jne 0x434c2a
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x434c1b
cmp ecx, 0xa
je 0x434c1f
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x434c11
mov dword [esi], 0x93
jmp 0x43506c
mov dword [esi], 0x4f
xor eax, eax
inc eax
jmp 0x43506c
mov dword [esi], 0x16
jmp 0x434c30
mov dword [esi], 0x4e
jmp 0x434c30
mov dword [esi], 0x50
jmp 0x434c30
mov dword [esi], 0x14
jmp 0x434c30
mov dword [esi], 0x13
jmp 0x434c30
movzx eax, byte [edi + 1]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434d0d
mov dword [esi], 0x70
jmp 0x434c30
cmp ecx, 0x3f
jg 0x434eb9
je 0x434e92
cmp ecx, 0x3b
jg 0x434e07
je 0x434dfd
cmp ecx, 0x2f
je 0x434dbf
jle 0x434f8b
cmp ecx, 0x39
jle 0x434d0d
cmp ecx, 0x3a
jne 0x434f8b
movzx eax, byte [edi + 1]
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [esi], 0x80
test eax, eax
je 0x435064
test al, al
js 0x43501d
cmp eax, 0x1f
jle 0x434ce7
cmp byte [eax + 0x4dd1e0], 0
jne 0x43501d
cmp eax, 0x28
jne 0x434cf4
test ecx, ecx
jg 0x435030
cmp eax, 0x3a
jne 0x435060
cmp byte [edi + ebx + 1], al
jne 0x435060
inc ebx
jmp 0x435021
movzx eax, byte [edi]
xor ebx, ebx
mov dword [esi], 0x7c
jmp 0x434d1f
inc ebx
movzx eax, byte [ebx + edi]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434d1a
cmp byte [ebx + edi], 0x2e
jne 0x434d46
inc ebx
movzx eax, byte [ebx + edi]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434d30
mov dword [esi], 0x7d
mov al, byte [ebx + edi]
cmp al, 0x65
je 0x434d51
cmp al, 0x45
jne 0x434d98
movzx eax, byte [ebx + edi + 1]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434d7d
mov al, byte [ebx + edi + 1]
cmp al, 0x2b
je 0x434d6d
cmp al, 0x2d
jne 0x434d98
movzx eax, byte [ebx + edi + 2]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
je 0x434d98
add ebx, 2
jmp 0x434d83
inc ebx
movzx eax, byte [ebx + edi]
push eax
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434d82
mov dword [esi], 0x7d
movzx eax, byte [ebx + edi]
test al, al
js 0x434db6
cmp eax, 0x1f
jle 0x43506a
cmp byte [eax + 0x4dd1e0], 0
je 0x43506a
mov dword [esi], 0x90
inc ebx
jmp 0x434d98
cmp byte [edi + 1], 0x2a
jne 0x434df2
mov cl, byte [edi + 2]
test cl, cl
je 0x434df2
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x434ddd
cmp byte [eax + edi], 0x2f
je 0x434dec
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x434c1f
inc eax
jmp 0x434dd2
inc eax
jmp 0x434c1f
mov dword [esi], 0x51
jmp 0x434c30
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0x43506a
mov eax, ecx
sub eax, 0x3c
je 0x434e56
dec eax
je 0x434e41
dec eax
jne 0x434f8b
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x434e29
mov dword [esi], 0x48
jmp 0x434e65
cmp eax, 0x3e
jne 0x434e36
mov dword [esi], 0x4d
jmp 0x434e65
mov dword [esi], 0x45
jmp 0x434c30
xor eax, eax
mov dword [esi], 0x44
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0x43506c
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x434e6d
mov dword [esi], 0x46
push 2
pop eax
jmp 0x43506c
cmp eax, 0x3e
jne 0x434e7a
mov dword [esi], 0x43
jmp 0x434e65
cmp eax, 0x3c
jne 0x434e87
mov dword [esi], 0x4c
jmp 0x434e65
mov dword [esi], 0x47
jmp 0x434c30
movzx eax, byte [edi + 1]
mov dword [esi], 0x80
xor esi, esi
inc esi
push eax
jmp 0x434ea8
inc esi
movzx ecx, byte [esi + edi]
push ecx
call fcn.004a66e1
pop ecx
test eax, eax
jne 0x434ea2
mov eax, esi
jmp 0x43506c
mov eax, ecx
sub eax, 0x40
je 0x434cb6
sub eax, 0x18
je 0x434f7a
sub eax, 3
je 0x434f59
sub eax, 5
je 0x434f18
sub eax, 0x18
je 0x434f7a
sub eax, 4
je 0x434efc
dec eax
dec eax
jne 0x434f8b
mov dword [esi], 0x57
jmp 0x434c30
cmp byte [edi + 1], 0x7c
je 0x434f0d
mov dword [esi], 0x4b
jmp 0x434c30
mov dword [esi], 0x53
jmp 0x434e65
movzx ebx, byte [edi + 1]
xor edx, edx
inc edx
test ebx, ebx
je 0x434f4c
cmp ebx, ecx
jne 0x434f31
movzx eax, byte [edi + edx + 1]
cmp eax, ecx
jne 0x434f3a
inc edx
inc edx
movzx ebx, byte [edx + edi]
test ebx, ebx
jne 0x434f23
test ebx, ebx
je 0x434f4c
mov dword [esi], 0x58
lea eax, [edx + 1]
jmp 0x43506c
mov dword [esi], 0x90
mov eax, edx
jmp 0x43506c
xor eax, eax
inc eax
cmp dl, 0x5d
je 0x434f6f
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x434f6f
inc eax
cmp ecx, 0x5d
jne 0x434f61
mov dword [esi], 0x17
jmp 0x43506c
movzx eax, byte [edi + 1]
mov dword [ebp - 8], eax
cmp eax, 0x27
je 0x434fd4
cmp eax, 0x22
je 0x434fd4
test cl, cl
js 0x434fa8
cmp ecx, 0x1f
jle 0x434f9d
cmp byte [ecx + 0x4dd1e0], 0
jne 0x434fa8
mov dword [esi], 0x90
jmp 0x434c30
xor ebx, ebx
inc ebx
movzx eax, byte [ebx + edi]
test al, al
js 0x434fc1
cmp eax, 0x1f
jle 0x434fc4
cmp byte [eax + 0x4dd1e0], 0
je 0x434fc4
inc ebx
jmp 0x434fab
mov edx, ebx
mov ecx, edi
call fcn.00434a4a
mov dword [esi], eax
jmp 0x43506a
movzx ecx, byte [edi + 2]
push 2
mov dword [esi], 0x7e
pop ebx
jmp 0x434ffa
cmp ecx, eax
je 0x435000
push ecx
call fcn.004a67b8
pop ecx
test eax, eax
je 0x435064
mov eax, dword [ebp - 8]
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
jne 0x434fe3
jmp 0x43506a
mov eax, ebx
and eax, 0x80000001
jns 0x43500e
dec eax
or eax, 0xfffffffe
inc eax
je 0x435016
mov dword [esi], 0x90
test ecx, ecx
je 0x43506a
inc ebx
jmp 0x43506a
inc ecx
mov dword [ebp - 4], ecx
inc ebx
movzx eax, byte [ebx + edi]
test eax, eax
jne 0x434ccd
jmp 0x435060
inc ebx
movzx eax, byte [ebx + edi]
mov dword [ebp - 8], eax
test eax, eax
je 0x43504f
push eax
call fcn.004a6762
test eax, eax
mov eax, dword [ebp - 8]
pop ecx
jne 0x43504f
cmp eax, 0x29
jne 0x435030
mov ecx, dword [ebp - 4]
cmp eax, 0x29
jne 0x43505a
inc ebx
jmp 0x435060
mov dword [esi], 0x90
test ecx, ecx
jne 0x43506a
mov dword [esi], 0x90
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret