Function at 0x58c5c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x676664]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.00443a10
test ebx, ebx
jne 0x58c5f6
pop edi
lea eax, [ebx + 7]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebx]
test esi, esi
jne 0x58c611
lea eax, [esi + 7]
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
mov al, byte [esi]
cmp al, 0x20
je 0x58c623
cmp al, 9
je 0x58c623
cmp al, 0xd
je 0x58c623
cmp al, 0xa
jne 0x58c626
inc esi
jmp 0x58c611
mov al, byte [esi]
test al, al
jne 0x58c644
mov dword [ebx], esi
pop esi
pop edi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
cmp al, 0x3c
jne 0x58c661
inc esi
mov dword [ebx], esi
pop esi
pop edi
mov eax, 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
cmp al, 0x3e
jne 0x58c67e
inc esi
mov dword [ebx], esi
pop esi
pop edi
mov eax, 5
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
cmp al, 0x2c
je 0x58c8fa
cmp al, 0x3b
je 0x58c8fa
mov dl, 0x3d
cmp al, dl
jne 0x58c750
cmp byte [esi + 1], 0x3f
jne 0x58c750
mov al, byte [esi + 2]
mov ecx, esi
add esi, 2
test al, al
je 0x58c6f5
mov edi, edi
cmp al, 0x3f
je 0x58c6d4
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x58c6b0
mov dword [ebx], esi
pop esi
pop edi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0
je 0x58c6f5
mov al, byte [esi + 1]
inc esi
cmp al, 0x71
je 0x58c6ed
cmp al, 0x51
je 0x58c6ed
cmp al, 0x62
je 0x58c6ed
cmp al, 0x42
jne 0x58c6f5
mov al, byte [esi + 1]
inc esi
cmp al, 0x3f
je 0x58c714
mov dword [ebx], esi
pop esi
pop edi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
cmp al, 0x3f
jne 0x58c719
cmp byte [esi + 1], dl
je 0x58c723
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x58c710
jmp 0x58c6f5
cmp byte [esi], 0
je 0x58c6f5
add esi, 2
mov eax, esi
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.004441e0
mov dword [ebx], esi
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp al, 0x22
jne 0x58c879
mov al, byte [esi + 1]
inc esi
cmp al, 0x22
je 0x58c7a2
test al, al
je 0x58c792
cmp al, 0x5c
jne 0x58c772
mov al, byte [esi + 1]
inc esi
test al, al
je 0x58c792
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x58c78a
push ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, edi
call fcn.004441e0
xor ecx, ecx
mov al, byte [esi + 1]
inc esi
cmp al, 0x22
jne 0x58c762
test ecx, ecx
je 0x58c7a2
push ecx
lea edx, [ebp - 0x24]
push edx
mov ecx, edi
call fcn.004441e0
cmp byte [esi], 0
je 0x58c7a8
inc esi
push 0x5bb5f8
mov ecx, edi
mov dword [ebx], esi
call fcn.004440a0
test al, al
je 0x58c8e4
push str._PN
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push 0x63f5ac
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push 0x63f570
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push str._OU
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push 0x63f548
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push 0x646600
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push 0x63f58c
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push str._ADMD
mov ecx, edi
call fcn.004440a0
test al, al
jne 0x58c856
push str._PRMD
mov ecx, edi
call fcn.004440a0
test al, al
je 0x58c8e4
cmp byte [esi], 0x40
jne 0x58c8e4
push 0x5bb9f8
mov ecx, edi
call fcn.00446fe0
push 0x5bb9f8
mov ecx, edi
call fcn.00443f80
xor ecx, ecx
mov al, byte [esi]
cmp al, 0x20
je 0x58c8cc
nop
cmp al, 9
je 0x58c8bc
test al, al
je 0x58c8bc
cmp al, 0x3e
je 0x58c8bc
cmp al, 0x3c
je 0x58c8bc
cmp al, 0x22
je 0x58c8bc
cmp al, 0x2c
je 0x58c8bc
cmp al, 0x3b
je 0x58c8bc
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x58c8b4
push ecx
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
call fcn.004441e0
xor ecx, ecx
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x58c880
test ecx, ecx
je 0x58c8cc
push ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, edi
call fcn.004441e0
mov dword [ebx], esi
pop esi
pop edi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
pop esi
pop edi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059af98
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
inc esi
mov dword [ebx], esi
pop esi
pop edi
xor ecx, ebp
mov eax, 6
pop ebx
call fcn.0059af98
mov esp, ebp
pop ebp
ret