Function at 0x442925
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
movzx ecx, byte [edx]
mov eax, ecx
push 4
pop ebx
cmp eax, 0x2e
jg 0x442a45
je 0x442a2b
sub eax, 9
cmp eax, 0x24
ja case.0x442958.11
movzx eax, byte [eax + 0x442ec5]
jmp dword [eax*4 + 0x442e91]
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
test byte [eax + 0x530638], 1
je 0x44297d
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x530638], 1
jne 0x44296f
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x97
mov eax, esi
jmp 0x442e8a
cmp byte [edx + 1], 0x2d
jne 0x4429ac
movzx eax, byte [edx + 2]
push 2
pop esi
jmp 0x4429a6
cmp eax, 0xa
je 0x44297d
inc esi
movzx eax, byte [esi + edx]
test eax, eax
jne 0x44299c
jmp 0x44297d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
xor eax, eax
inc eax
jmp 0x442e8a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5b
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x4429b5
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x442a0a
mov dword [eax], 0x96
jmp 0x442c43
mov dword [eax], 0x4e
jmp 0x442c43
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x55
jmp 0x4429b5
movzx eax, byte [edx + 1]
test byte [eax + 0x530638], bl
jne 0x442a97
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x7a
jmp 0x4429b5
cmp eax, 0x3f
jg 0x442ca5
je 0x442c74
cmp eax, 0x3b
jg 0x442bd9
je 0x442bcc
cmp eax, 0x2f
je 0x442b86
jle case.0x442958.11
cmp eax, 0x39
jle 0x442a97
cmp eax, 0x3a
je case.0x442958.35
test byte [ecx + 0x530638], 0x46
jne 0x442dea
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
jmp 0x4429b5
mov edi, dword [ebp + 0xc]
mov dword [edi], 0x84
mov cl, byte [edx]
cmp cl, 0x30
jne 0x442ae6
mov al, byte [edx + 1]
cmp al, 0x78
je 0x442ab2
cmp al, 0x58
jne 0x442ae6
movzx eax, byte [edx + 2]
test byte [eax + 0x530638], 8
je 0x442ae6
movzx eax, byte [edx + 3]
push 3
pop esi
test byte [eax + 0x530638], 8
je 0x442986
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x530638], 8
jne 0x442ad3
jmp 0x442986
xor esi, esi
movzx eax, cl
jmp 0x442af2
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x530638], bl
jne 0x442aed
cmp byte [esi + edx], 0x2e
jne 0x442b13
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x530638], bl
jne 0x442b00
mov dword [edi], 0x85
mov al, byte [esi + edx]
cmp al, 0x65
je 0x442b1e
cmp al, 0x45
jne 0x442b5c
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x530638], bl
jne 0x442b44
cmp cl, 0x2b
je 0x442b37
cmp cl, 0x2d
jne 0x442b5c
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x530638], bl
je 0x442b5c
add esi, 2
jmp 0x442b4a
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x530638], bl
jne 0x442b49
mov dword [edi], 0x85
movzx eax, byte [esi + edx]
test byte [eax + 0x530638], 0x46
je 0x442986
inc esi
mov dword [edi], 0x96
movzx ecx, byte [esi + edx]
test byte [ecx + 0x530638], 0x46
jne 0x442b6d
jmp 0x442986
cmp byte [edx + 1], 0x2a
jne 0x442bbe
mov cl, byte [edx + 2]
test cl, cl
je 0x442bbe
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x442ba4
cmp byte [eax + edx], 0x2f
je 0x442baf
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x442bb0
inc eax
jmp 0x442b99
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x97
jmp 0x442e8a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5c
jmp 0x4429b5
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x442e8a
sub eax, 0x3c
je 0x442c2f
dec eax
je 0x442c17
dec eax
jne case.0x442958.11
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x442bfc
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
jmp 0x442c41
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x442c0c
mov dword [eax], 0x58
jmp 0x442c41
mov dword [eax], 0x50
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4f
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
jmp 0x442e8a
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x442c49
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x51
push 2
pop eax
jmp 0x442e8a
cmp eax, 0x3e
jne 0x442c59
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
jmp 0x442c41
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x442c69
mov dword [eax], 0x57
jmp 0x442c41
mov dword [eax], 0x52
jmp 0x4429b5
mov eax, dword [ebp + 0xc]
xor esi, esi
push 4
pop ebx
inc esi
mov dword [eax], 0x87
movzx eax, byte [edx + 1]
test byte [eax + 0x530638], bl
je 0x442986
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x530638], bl
jne 0x442c93
jmp 0x442986
sub eax, 0x40
je case.0x442958.35
sub eax, 0x18
je 0x442d86
sub eax, 3
je 0x442d5b
sub eax, 5
je case.0x442958.34
sub eax, 0x18
je 0x442d86
sub eax, 4
je 0x442ce9
dec eax
dec eax
jne case.0x442958.11
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x60
jmp 0x4429b5
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x442cfd
mov dword [eax], 0x56
jmp 0x4429b5
mov dword [eax], 0x5e
jmp 0x442c41
movzx edi, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x442d24
cmp edi, ecx
jne 0x442d1f
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x442d28
inc esi
inc esi
movzx edi, byte [esi + edx]
test edi, edi
jne 0x442d11
cmp edi, 0x27
jne 0x442d3e
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x61
lea eax, [esi + 1]
jmp 0x442e8a
test edi, edi
je 0x442d4d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1b
jmp 0x442d36
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x96
jmp 0x442986
xor eax, eax
inc eax
jmp 0x442d69
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x442d6e
inc eax
cmp ecx, 0x5d
jne 0x442d60
cmp ecx, 0x5d
mov edx, 0x96
mov ecx, dword [ebp + 0xc]
push 0x1b
pop esi
cmove edx, esi
mov dword [ecx], edx
jmp 0x442e8a
cmp byte [edx + 1], 0x27
jne case.0x442958.11
mov esi, dword [ebp + 0xc]
push 2
pop ecx
mov dword [esi], 0x86
movzx eax, byte [edx + 2]
jmp 0x442da7
inc ecx
movzx eax, byte [ecx + edx]
test byte [eax + 0x530638], 8
jne 0x442da2
cmp byte [ecx + edx], 0x27
jne 0x442dc6
mov eax, ecx
and eax, 0x80000001
jns 0x442dc4
dec eax
or eax, 0xfffffffe
inc eax
je 0x442dda
mov dword [esi], 0x96
jmp 0x442dd3
cmp al, 0x27
je 0x442dda
inc ecx
mov al, byte [ecx + edx]
test al, al
jne 0x442dce
cmp byte [ecx + edx], 0
je 0x442e88
inc ecx
jmp 0x442e88
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x442df8
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x530638], 0x46
jne 0x442df3
push esi
push edx
call fcn.0042d4c6
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x442986
mov edi, dword [ebp + 0xc]
xor ecx, ecx
xor esi, esi
inc ecx
mov dword [edi], 0x87
movzx ebx, byte [edx + 1]
test ebx, ebx
je 0x442e82
movzx eax, bl
test byte [eax + 0x530638], 0x46
je 0x442e39
inc esi
jmp 0x442e4e
cmp ebx, 0x28
jne 0x442e42
test esi, esi
jg 0x442e59
cmp ebx, 0x3a
jne 0x442e7e
cmp byte [edx + ecx + 1], bl
jne 0x442e7e
inc ecx
inc ecx
movzx ebx, byte [ecx + edx]
test ebx, ebx
jne 0x442e2a
jmp 0x442e7e
inc ecx
movzx ebx, byte [ecx + edx]
test ebx, ebx
je 0x442e70
test byte [ebx + 0x530638], 1
jne 0x442e70
cmp ebx, 0x29
jne 0x442e59
cmp ebx, 0x29
jne 0x442e78
inc ecx
jmp 0x442e7e
mov dword [edi], 0x96
test esi, esi
jne 0x442e88
mov dword [edi], 0x96
mov eax, ecx
pop edi
pop esi
pop ebx
pop ebp
ret