Function at 0x434e11
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 0x434f31
je 0x434f17
sub eax, 9
cmp eax, 0x24
ja case.0x434e44.11
movzx eax, byte [eax + 0x4353b1]
jmp dword [eax*4 + 0x43537d]
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
test byte [eax + 0x487148], 1
je 0x434e69
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x487148], 1
jne 0x434e5b
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x97
mov eax, esi
jmp 0x435376
cmp byte [edx + 1], 0x2d
jne 0x434e98
movzx eax, byte [edx + 2]
push 2
pop esi
jmp 0x434e92
cmp eax, 0xa
je 0x434e69
inc esi
movzx eax, byte [esi + edx]
test eax, eax
jne 0x434e88
jmp 0x434e69
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
xor eax, eax
inc eax
jmp 0x435376
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x434ea1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x434ea1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x434ea1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5b
jmp 0x434ea1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x434ea1
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x434ef6
mov dword [eax], 0x96
jmp 0x43512f
mov dword [eax], 0x4e
jmp 0x43512f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
jmp 0x434ea1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x55
jmp 0x434ea1
movzx eax, byte [edx + 1]
test byte [eax + 0x487148], bl
jne 0x434f83
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x7a
jmp 0x434ea1
cmp eax, 0x3f
jg 0x435191
je 0x435160
cmp eax, 0x3b
jg 0x4350c5
je 0x4350b8
cmp eax, 0x2f
je 0x435072
jle case.0x434e44.11
cmp eax, 0x39
jle 0x434f83
cmp eax, 0x3a
je case.0x434e44.35
test byte [ecx + 0x487148], 0x46
jne 0x4352d6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
jmp 0x434ea1
mov edi, dword [ebp + 0xc]
mov dword [edi], 0x84
mov cl, byte [edx]
cmp cl, 0x30
jne 0x434fd2
mov al, byte [edx + 1]
cmp al, 0x78
je 0x434f9e
cmp al, 0x58
jne 0x434fd2
movzx eax, byte [edx + 2]
test byte [eax + 0x487148], 8
je 0x434fd2
movzx eax, byte [edx + 3]
push 3
pop esi
test byte [eax + 0x487148], 8
je 0x434e72
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x487148], 8
jne 0x434fbf
jmp 0x434e72
xor esi, esi
movzx eax, cl
jmp 0x434fde
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x487148], bl
jne 0x434fd9
cmp byte [esi + edx], 0x2e
jne 0x434fff
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x487148], bl
jne 0x434fec
mov dword [edi], 0x85
mov al, byte [esi + edx]
cmp al, 0x65
je 0x43500a
cmp al, 0x45
jne 0x435048
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x487148], bl
jne 0x435030
cmp cl, 0x2b
je 0x435023
cmp cl, 0x2d
jne 0x435048
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x487148], bl
je 0x435048
add esi, 2
jmp 0x435036
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x487148], bl
jne 0x435035
mov dword [edi], 0x85
movzx eax, byte [esi + edx]
test byte [eax + 0x487148], 0x46
je 0x434e72
inc esi
mov dword [edi], 0x96
movzx ecx, byte [esi + edx]
test byte [ecx + 0x487148], 0x46
jne 0x435059
jmp 0x434e72
cmp byte [edx + 1], 0x2a
jne 0x4350aa
mov cl, byte [edx + 2]
test cl, cl
je 0x4350aa
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x435090
cmp byte [eax + edx], 0x2f
je 0x43509b
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x43509c
inc eax
jmp 0x435085
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x97
jmp 0x435376
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5c
jmp 0x434ea1
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x435376
sub eax, 0x3c
je 0x43511b
dec eax
je 0x435103
dec eax
jne case.0x434e44.11
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x4350e8
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
jmp 0x43512d
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x4350f8
mov dword [eax], 0x58
jmp 0x43512d
mov dword [eax], 0x50
jmp 0x434ea1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4f
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
jmp 0x435376
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x435135
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x51
push 2
pop eax
jmp 0x435376
cmp eax, 0x3e
jne 0x435145
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
jmp 0x43512d
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x435155
mov dword [eax], 0x57
jmp 0x43512d
mov dword [eax], 0x52
jmp 0x434ea1
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 + 0x487148], bl
je 0x434e72
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x487148], bl
jne 0x43517f
jmp 0x434e72
sub eax, 0x40
je case.0x434e44.35
sub eax, 0x18
je 0x435272
sub eax, 3
je 0x435247
sub eax, 5
je case.0x434e44.34
sub eax, 0x18
je 0x435272
sub eax, 4
je 0x4351d5
dec eax
dec eax
jne case.0x434e44.11
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x60
jmp 0x434ea1
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x4351e9
mov dword [eax], 0x56
jmp 0x434ea1
mov dword [eax], 0x5e
jmp 0x43512d
movzx edi, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x435210
cmp edi, ecx
jne 0x43520b
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x435214
inc esi
inc esi
movzx edi, byte [esi + edx]
test edi, edi
jne 0x4351fd
cmp edi, 0x27
jne 0x43522a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x61
lea eax, [esi + 1]
jmp 0x435376
test edi, edi
je 0x435239
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1b
jmp 0x435222
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x96
jmp 0x434e72
xor eax, eax
inc eax
jmp 0x435255
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x43525a
inc eax
cmp ecx, 0x5d
jne 0x43524c
cmp ecx, 0x5d
mov edx, 0x96
mov ecx, dword [ebp + 0xc]
push 0x1b
pop esi
cmove edx, esi
mov dword [ecx], edx
jmp 0x435376
cmp byte [edx + 1], 0x27
jne case.0x434e44.11
mov esi, dword [ebp + 0xc]
push 2
pop ecx
mov dword [esi], 0x86
movzx eax, byte [edx + 2]
jmp 0x435293
inc ecx
movzx eax, byte [ecx + edx]
test byte [eax + 0x487148], 8
jne 0x43528e
cmp byte [ecx + edx], 0x27
jne 0x4352b2
mov eax, ecx
and eax, 0x80000001
jns 0x4352b0
dec eax
or eax, 0xfffffffe
inc eax
je 0x4352c6
mov dword [esi], 0x96
jmp 0x4352bf
cmp al, 0x27
je 0x4352c6
inc ecx
mov al, byte [ecx + edx]
test al, al
jne 0x4352ba
cmp byte [ecx + edx], 0
je 0x435374
inc ecx
jmp 0x435374
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x4352e4
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x487148], 0x46
jne 0x4352df
push esi
push edx
call fcn.0041ff37
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x434e72
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 0x43536e
movzx eax, bl
test byte [eax + 0x487148], 0x46
je 0x435325
inc esi
jmp 0x43533a
cmp ebx, 0x28
jne 0x43532e
test esi, esi
jg 0x435345
cmp ebx, 0x3a
jne 0x43536a
cmp byte [edx + ecx + 1], bl
jne 0x43536a
inc ecx
inc ecx
movzx ebx, byte [ecx + edx]
test ebx, ebx
jne 0x435316
jmp 0x43536a
inc ecx
movzx ebx, byte [ecx + edx]
test ebx, ebx
je 0x43535c
test byte [ebx + 0x487148], 1
jne 0x43535c
cmp ebx, 0x29
jne 0x435345
cmp ebx, 0x29
jne 0x435364
inc ecx
jmp 0x43536a
mov dword [edi], 0x96
test esi, esi
jne 0x435374
mov dword [edi], 0x96
mov eax, ecx
pop edi
pop esi
pop ebx
pop ebp
ret