Function at 0x56d9d9
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 ecx, dword [eax + 0x4768]
mov esi, ecx
mov edi, dword [eax + 0x114]
movzx eax, byte [ecx]
push eax
call fcn.0056d805
add esp, 4
test al, al
je 0x56da4e
mov edx, esi
inc esi
movzx eax, byte [esi]
push eax
call fcn.0056d805
add esp, 4
test al, al
jne 0x56da08
cmp esi, ecx
je 0x56da4e
mov eax, esi
jbe 0x56da29
cmp byte [edx], 0x2f
cmove eax, edx
push 1
xor ebx, ebx
lea edx, [edi + 4]
push ebx
push edx
sub eax, ecx
push eax
push ecx
push dword [ebp - 0xc]
call fcn.00579d25
add esp, 0x18
test eax, eax
je 0x56dbc7
jmp 0x56dc40
xor ebx, ebx
mov dword [edi + 4], ebx
jmp 0x56dbc7
inc esi
mov edx, esi
mov al, byte [esi]
test al, al
je 0x56dbf8
mov cl, al
mov al, cl
cmp cl, 0x3d
je 0x56da77
inc esi
mov al, byte [esi]
mov cl, al
test al, al
jne 0x56da67
test al, al
je 0x56dbf8
push 1
push ebx
lea eax, [ebp - 4]
push eax
mov eax, esi
sub eax, edx
push eax
push edx
push dword [ebp - 0xc]
call fcn.00579d25
add esp, 0x18
test eax, eax
jne 0x56dc40
inc esi
mov ecx, esi
jmp 0x56daa5
inc esi
movzx eax, byte [esi]
push eax
call fcn.0056d805
add esp, 4
test al, al
jne 0x56daa4
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.00579d25
add esp, 0x18
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x56dbfd
push str.UIDVALIDITY
push dword [ebp - 4]
call fcn.00567b39
pop ecx
pop ecx
test eax, eax
je 0x56db13
cmp dword [edi + 8], ebx
jne 0x56db13
mov eax, dword [ebp - 8]
test eax, eax
je 0x56db08
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x56db08
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 8], eax
jmp 0x56dbb0
push 0x5f205c
push dword [ebp - 4]
call fcn.00567b39
pop ecx
pop ecx
test eax, eax
je 0x56db48
cmp dword [edi + 0xc], ebx
jne 0x56db48
mov eax, dword [ebp - 8]
test eax, eax
je 0x56db40
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x56db40
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], eax
jmp 0x56dbb0
push str.SECTION
push dword [ebp - 4]
call fcn.00567b39
pop ecx
pop ecx
test eax, eax
je 0x56db7d
cmp dword [edi + 0x10], ebx
jne 0x56db7d
mov eax, dword [ebp - 8]
test eax, eax
je 0x56db75
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x56db75
mov byte [ecx + eax - 1], bl
mov eax, dword [ebp + 8]
mov dword [edi + 0x10], eax
jmp 0x56dbb0
push str.PARTIAL
push dword [ebp - 4]
call fcn.00567b39
pop ecx
pop ecx
test eax, eax
je 0x56dbe4
cmp dword [edi + 0x14], ebx
jne 0x56dbe4
mov eax, dword [ebp - 8]
test eax, eax
je 0x56dbaa
mov ecx, dword [ebp + 8]
cmp byte [ecx + eax - 1], 0x2f
jne 0x56dbaa
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 [0x624064]
push dword [ebp + 8]
call dword [0x624064]
pop ecx
pop ecx
cmp byte [esi], 0x3b
je 0x56da58
cmp dword [edi + 4], ebx
je 0x56dc39
cmp dword [edi + 0xc], ebx
jne 0x56dc39
cmp byte [esi], 0x3f
jne 0x56dc39
inc esi
mov ecx, esi
jmp 0x56dc0d
push dword [ebp - 4]
call dword [0x624064]
push dword [ebp + 8]
call dword [0x624064]
pop ecx
pop ecx
push 3
pop eax
jmp 0x56dc40
push dword [ebp - 4]
call dword [0x624064]
mov eax, dword [ebp - 0x10]
pop ecx
jmp 0x56dc40
inc esi
movzx eax, byte [esi]
push eax
call fcn.0056d805
add esp, 4
test al, al
jne 0x56dc0c
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.00579d25
add esp, 0x18
test eax, eax
jne 0x56dc40
cmp byte [esi], 0
jne 0x56dbf8
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret