Function at 0x5be6b3
Capabilities:
Parse credit card information

Disassembly:
mov eax, 0x5d3253
call fcn.005c1e48
sub esp, 0x2c
push ebx
mov ebx, ecx
call fcn.00410911
push eax
lea ecx, [ebp - 0x10]
call fcn.004013b8
and dword [ebp - 4], 0
movzx eax, word [ebx]
test ax, ax
je 0x5be9cf
push esi
push edi
mov esi, 0x616e18
cmp ax, 0x24
je 0x5be8f2
cmp ax, 0x26
je 0x5be8f2
cmp ax, 0x2b
je 0x5be8f2
cmp ax, 0x2c
je 0x5be8f2
cmp ax, 0x2f
je 0x5be8f2
cmp ax, 0x3a
je 0x5be8f2
cmp ax, 0x3b
je 0x5be8f2
cmp ax, 0x3d
je 0x5be8f2
cmp ax, 0x3f
je 0x5be8f2
cmp ax, 0x40
je 0x5be8f2
cmp ax, 0x23
je 0x5be8f2
cmp ax, 0x20
je 0x5be8f2
cmp ax, 0x7f
jbe 0x5be9b1
mov ecx, 0x7ff
movzx edi, ax
push esi
cmp ax, cx
ja 0x5be82c
lea eax, [ebp - 0x18]
or edi, 0x3000
push eax
shr edi, 6
call fcn.00403d9c
push edi
push dword [eax]
lea eax, [ebp - 0x38]
push 0xffffffffffffffff
push 4
push eax
call fcn.005194ca
mov ecx, dword [ebp - 0x18]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00401408
lea eax, [ebp - 0x38]
push eax
call fcn.00401d95
pop ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401d24
movzx edi, word [ebx]
lea eax, [ebp - 0x1c]
push esi
and edi, 0x3f
push eax
or edi, 0x80
call fcn.00403d9c
push edi
push dword [eax]
lea eax, [ebp - 0x38]
push 0xffffffffffffffff
push 4
push eax
call fcn.005194ca
mov ecx, dword [ebp - 0x1c]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00401408
lea eax, [ebp - 0x38]
push eax
call fcn.00401d95
pop ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401f76
mov eax, dword [ebp - 0x10]
cmp dword [eax - 4], 1
jle 0x5be825
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00401222
mov eax, dword [ebp - 0x10]
mov edi, eax
jmp 0x5be96c
lea eax, [ebp - 0x20]
or edi, 0xe0000
push eax
shr edi, 0xc
call fcn.00403d9c
push edi
push dword [eax]
lea eax, [ebp - 0x38]
push 0xffffffffffffffff
push 4
push eax
call fcn.005194ca
mov ecx, dword [ebp - 0x20]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00401408
lea eax, [ebp - 0x38]
push eax
call fcn.00401d95
pop ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401d24
movzx edi, word [ebx]
and edi, 0xfc0
lea eax, [ebp - 0x24]
push esi
or edi, 0x2000
push eax
shr edi, 6
call fcn.00403d9c
push edi
push dword [eax]
lea eax, [ebp - 0x38]
push 0xffffffffffffffff
push 4
push eax
call fcn.005194ca
mov ecx, dword [ebp - 0x24]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00401408
lea eax, [ebp - 0x38]
push eax
call fcn.00401d95
pop ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401f76
movzx edi, word [ebx]
lea eax, [ebp - 0x28]
push esi
and edi, 0x3f
push eax
or edi, 0x80
call fcn.00403d9c
push edi
push dword [eax]
lea eax, [ebp - 0x38]
push 0xffffffffffffffff
push 4
push eax
call fcn.005194ca
mov ecx, dword [ebp - 0x28]
jmp 0x5be7ec
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.00403d9c
movzx ecx, word [ebx]
push ecx
push dword [eax]
lea eax, [ebp - 0x38]
push 0xffffffffffffffff
push 4
push eax
call fcn.005194ca
mov ecx, dword [ebp - 0x2c]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00401408
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x38]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x5be927
sub eax, ecx
sar eax, 1
je 0x5be969
mov edi, dword [ebp - 0x14]
lea edi, [ebp + edi*2 - 0x38]
movzx eax, word [edi]
push eax
call fcn.00519889
inc dword [ebp - 0x14]
mov word [edi], ax
lea eax, [ebp - 0x38]
pop ecx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x5be955
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x14], eax
jb 0x5be938
lea edi, [ebp - 0x38]
test edi, edi
je 0x5be9b1
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x5be975
sub eax, edx
sar eax, 1
push edi
inc eax
push eax
push dword [ebp + 8]
call fcn.00518bcf
mov eax, edi
add esp, 0xc
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x5be997
sub eax, ecx
mov ecx, dword [ebp + 8]
sar eax, 1
lea eax, [ecx + eax*2]
mov dword [ebp + 8], eax
jmp 0x5be9be
mov ecx, dword [ebp + 8]
mov ax, word [ebx]
add dword [ebp + 8], 2
mov word [ecx], ax
add ebx, 2
movzx eax, word [ebx]
test ax, ax
jne 0x5be6e8
pop edi
pop esi
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401408
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
leave
ret