Function at 0x5bb724
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov edx, dword [eax + 0x4b8c]
mov esi, edx
mov edi, dword [eax + 0x150]
movzx eax, byte [edx]
push eax
call fcn.005bb54f
add esp, 4
test al, al
je 0x5bb79a
inc esi
movzx eax, byte [esi]
push eax
call fcn.005bb54f
add esp, 4
test al, al
jne 0x5bb753
cmp esi, edx
je 0x5bb79a
mov ecx, esi
jbe 0x5bb775
lea eax, [esi - 1]
cmp byte [eax], 0x2f
cmove ecx, eax
push 1
xor ebx, ebx
lea eax, [edi + 4]
push ebx
push eax
sub ecx, edx
push ecx
push edx
push dword [ebp - 0xc]
call fcn.005b7896
add esp, 0x18
test eax, eax
je 0x5bb90d
jmp 0x5bb989
xor ebx, ebx
mov dword [edi + 4], ebx
jmp 0x5bb90d
inc esi
mov ecx, esi
mov al, byte [esi]
test al, al
je 0x5bb93e
cmp al, 0x3d
je 0x5bb7bc
inc esi
mov al, byte [esi]
test al, al
jne 0x5bb7b1
cmp byte [esi], 0
je 0x5bb93e
push 1
push ebx
lea eax, [ebp - 4]
push eax
mov eax, esi
sub eax, ecx
push eax
push ecx
push dword [ebp - 0xc]
call fcn.005b7896
add esp, 0x18
test eax, eax
jne 0x5bb989
inc esi
mov ecx, esi
jmp 0x5bb7eb
inc esi
movzx eax, byte [esi]
push eax
call fcn.005bb54f
add esp, 4
test al, al
jne 0x5bb7ea
push 1
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
mov eax, esi
sub eax, ecx
push eax
push ecx
push dword [ebp - 0xc]
call fcn.005b7896
add esp, 0x18
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x5bb943
push str.UIDVALIDITY
push dword [ebp - 4]
call fcn.0059b6d7
pop ecx
pop ecx
test eax, eax
je 0x5bb859
cmp dword [edi + 8], ebx
jne 0x5bb859
mov eax, dword [ebp - 8]
test eax, eax
je 0x5bb84e
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x5bb84e
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 8], eax
jmp 0x5bb8f6
push 0x6edeb0
push dword [ebp - 4]
call fcn.0059b6d7
pop ecx
pop ecx
test eax, eax
je 0x5bb88e
cmp dword [edi + 0xc], ebx
jne 0x5bb88e
mov eax, dword [ebp - 8]
test eax, eax
je 0x5bb886
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x5bb886
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], eax
jmp 0x5bb8f6
push str.SECTION
push dword [ebp - 4]
call fcn.0059b6d7
pop ecx
pop ecx
test eax, eax
je 0x5bb8c3
cmp dword [edi + 0x10], ebx
jne 0x5bb8c3
mov eax, dword [ebp - 8]
test eax, eax
je 0x5bb8bb
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x5bb8bb
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 0x10], eax
jmp 0x5bb8f6
push str.PARTIAL
push dword [ebp - 4]
call fcn.0059b6d7
pop ecx
pop ecx
test eax, eax
je 0x5bb92a
cmp dword [edi + 0x14], ebx
jne 0x5bb92a
mov eax, dword [ebp - 8]
test eax, eax
je 0x5bb8f0
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x5bb8f0
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 0x14], eax
push dword [ebp - 4]
mov dword [ebp + 8], ebx
call dword [0x78c074]
push dword [ebp + 8]
call dword [0x78c074]
pop ecx
pop ecx
cmp byte [esi], 0x3b
je 0x5bb7a4
cmp dword [edi + 4], ebx
je 0x5bb97f
cmp dword [edi + 0xc], ebx
jne 0x5bb97f
cmp byte [esi], 0x3f
jne 0x5bb97f
inc esi
mov ecx, esi
jmp 0x5bb953
push dword [ebp - 4]
call dword [0x78c074]
push dword [ebp + 8]
call dword [0x78c074]
pop ecx
pop ecx
push 3
pop eax
jmp 0x5bb989
push dword [ebp - 4]
call dword [0x78c074]
mov eax, dword [ebp - 0x10]
pop ecx
jmp 0x5bb989
inc esi
movzx eax, byte [esi]
push eax
call fcn.005bb54f
add esp, 4
test al, al
jne 0x5bb952
push 1
push ebx
lea eax, [edi + 0x18]
push eax
mov eax, esi
sub eax, ecx
push eax
push ecx
push dword [ebp - 0xc]
call fcn.005b7896
add esp, 0x18
test eax, eax
jne 0x5bb989
xor eax, eax
cmp byte [esi], al
push 3
pop ecx
cmovne eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret