Function at 0x426e53
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50d211
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x57b728]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
push 1
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x18], 0
call fcn.004244f0
xor ecx, ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x10], ecx
cmp dword [esi + 0x10], ecx
jle 0x42718c
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
lea esp, [esp]
mov eax, dword [esi + 0xc]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x18]
mov dl, byte [esi + 0x5c]
mov byte [ebp + 0xc], dl
test eax, eax
je 0x426d53
cmp dword [esi + 0x20], 0
jbe 0x426d53
mov al, byte [eax]
cmp al, 0x3f
je case.default.0x426e4c
cmp edi, 2
jne 0x426e0f
cmp word [esi + 0x60], 0
je case.default.0x426e4c
cmp dword [ebp + 0x18], 0xffffffff
je 0x426d7d
movzx eax, byte [esi + 0x83]
cmp dword [ebp + 0x18], eax
jne case.default.0x426e4c
test bl, bl
je 0x426dbf
cmp dl, 0x13
je 0x426d90
cmp dl, 0x45
je 0x426d90
cmp dl, 0x4b
jne 0x426dda
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x38], ecx
jne 0x426dae
mov eax, dword [ebp - 0x30]
add eax, ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.004c4e40
test al, al
je 0x427179
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + eax*4], esi
inc dword [ebp - 0x38]
jmp 0x427179
cmp dl, 0x22
je 0x427170
cmp dl, 0x54
je 0x427170
cmp dl, 0x5a
je 0x427170
mov eax, dword [ebp + 0x10]
test al, al
jne 0x426df8
push ebx
push dword [ebp + 0xc]
call fcn.00427500
add esp, 8
test al, al
jne 0x427170
mov eax, dword [ebp + 0x10]
push eax
push esi
call fcn.00427560
add esp, 8
test al, al
je 0x427179
jmp 0x427170
cmp edi, 1
jne 0x426f95
cmp word [esi + 0x60], 0
je 0x426e29
cmp byte [esi + 0x62], 2
jne 0x426e29
test bl, bl
jne 0x426e3c
mov al, byte [esi + 0x62]
cmp al, 5
jne 0x426e34
test bl, bl
je 0x426e3c
cmp al, 6
jne case.default.0x426e4c
mov eax, dword [ebp + 0x10]
movzx eax, al
dec eax
cmp eax, 0xe
ja case.default.0x426e4c
jmp dword [eax*4 + 0x4271c4]
cmp dl, 1
je 0x426f75
cmp dl, 0x2d
jmp 0x426f6f
cmp dl, 2
je 0x426f75
cmp dl, 0x2e
jmp 0x426f6f
cmp dl, 3
je 0x426f75
cmp dl, 0x2f
jmp 0x426f6f
cmp dl, 4
je 0x426f75
cmp dl, 0x30
jmp 0x426f6f
cmp dl, 5
je 0x426f75
xor ecx, ecx
test bl, bl
sete cl
movzx eax, dl
add ecx, 0x31
cmp eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x426f6f
cmp dl, 6
je 0x426f75
xor ecx, ecx
test bl, bl
sete cl
movzx eax, dl
add ecx, 0x33
cmp eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x426f6f
cmp dl, 7
je 0x426f75
xor ecx, ecx
test bl, bl
sete cl
movzx eax, dl
add ecx, 0x35
cmp eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x426f6f
cmp dl, 8
je 0x426f75
xor ecx, ecx
test bl, bl
sete cl
movzx eax, dl
add ecx, 0x37
cmp eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x426f6f
cmp dl, 9
je 0x426f75
cmp dl, 0x39
jmp 0x426f6f
cmp dl, 0xa
je 0x426f75
cmp dl, 0x3a
jmp 0x426f6f
cmp dl, 0xb
je 0x426f75
cmp dl, 0x3b
jmp 0x426f6f
cmp dl, 0xc
je 0x426f75
xor ecx, ecx
test bl, bl
sete cl
movzx eax, dl
add ecx, 0x3c
cmp eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x426f6f
cmp dl, 0xd
je 0x426f75
xor ecx, ecx
test bl, bl
sete cl
movzx eax, dl
add ecx, 0x3e
cmp eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x426f6f
cmp dl, 0xe
je 0x426f75
cmp dl, 0x40
jmp 0x426f6f
cmp dl, 0xf
je 0x426f75
cmp dl, 0x41
jne case.default.0x426e4c
mov edx, dword [ebp + 0x18]
cmp edx, 0xffffffff
je 0x426d90
movzx eax, byte [esi + 0x83]
cmp eax, edx
jne case.default.0x426e4c
jmp 0x426d90
cmp edi, 3
jne 0x427066
mov eax, dword [ebp + 0x10]
cmp dl, al
movzx eax, al
sete cl
cmp eax, 0x28
ja case.0x426fb5.1
movzx eax, byte [eax + 0x42721c]
jmp dword [eax*4 + 0x427200]
cmp dl, 0x16
je 0x426d90
cmp dl, 0x17
je 0x426d90
cmp dl, 0x25
je 0x426d90
cmp dl, 0x28
je 0x426d90
cmp dl, 0x60
je 0x426d90
cmp dl, 0x61
jne 0x427179
jmp 0x426d90
cmp dl, 0x16
je 0x426d90
cmp dl, 0x25
jne 0x427179
jmp 0x426d90
cmp dl, 0x17
je 0x426d90
cmp dl, 0x60
jne 0x427179
jmp 0x426d90
cmp dl, 0x19
sete cl
test cl, cl
je 0x427179
jmp 0x426d90
cmp dl, 0x1e
je 0x426d90
cmp dl, 0x5f
jne 0x427179
jmp 0x426d90
cmp dl, 0x28
je 0x426d90
cmp dl, 0x61
jne 0x427179
jmp 0x426d90
cmp edi, 0xa
jne 0x427073
cmp dl, byte [ebp + 0x10]
jmp 0x42716e
cmp edi, 4
jne 0x427109
cmp dl, 0x19
jne 0x4270d1
cmp word [esi + 0x8e], 0
jne 0x427170
cmp word [esi + 0x92], 0
jne 0x427170
cmp word [esi + 0x90], 0
jne 0x427170
cmp word [esi + 0x7e], 0
jne 0x427170
mov al, byte [esi + 0x82]
test al, al
je case.default.0x426e4c
cmp al, 0x2a
je case.default.0x426e4c
jmp 0x427170
cmp dl, 0x2c
jne 0x4270e6
cmp word [esi + 0x7e], 0
je case.default.0x426e4c
jmp 0x427170
cmp dl, 0x64
jne case.default.0x426e4c
movzx eax, word [esi + 0x7e]
mov edx, 0x118
cmp ax, dx
jl case.default.0x426e4c
mov edx, 0x12c
cmp ax, dx
jg case.default.0x426e4c
jmp 0x427170
cmp edi, 5
jne 0x42712c
cmp dl, 0x2a
jne case.default.0x426e4c
mov al, byte [esi + 0x62]
test bl, bl
je 0x427124
test al, al
je 0x427170
cmp al, 1
je 0x427170
jmp case.default.0x426e4c
cmp al, 3
je 0x427170
cmp al, 4
jmp 0x42716e
cmp edi, 6
jne 0x427148
cmp word [esi + 0x60], 0
jle case.default.0x426e4c
test bl, bl
je 0x427143
cmp dl, 0x18
je 0x427170
jmp case.default.0x426e4c
cmp dl, 0x27
jmp 0x42716e
cmp edi, 7
jne 0x427152
cmp dl, 0x5e
jmp 0x42716e
cmp edi, 8
jne 0x42715c
cmp dl, 0x2b
jmp 0x42716e
cmp edi, 9
jne case.default.0x426e4c
cmp dl, 0x4e
je 0x427170
cmp dl, 0x4f
je 0x427170
cmp dl, 0x50
jne case.default.0x426e4c
push esi
lea ecx, [ebp - 0x40]
call fcn.004c8500
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [esi + 0x10]
jl 0x426d30
mov ecx, dword [ebp + 8]
push 1
lea eax, [ebp - 0x40]
push eax
call fcn.004243c0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x18], 1
mov byte [ebp - 4], 0
call fcn.004246d0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14