Function at 0x5982d0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x68683c]
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.0044ef40
test ebx, ebx
jne 0x598306
pop edi
lea eax, [ebx + 7]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebx]
test esi, esi
jne 0x598321
lea eax, [esi + 7]
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
mov al, byte [esi]
cmp al, 0x20
je 0x598333
cmp al, 9
je 0x598333
cmp al, 0xd
je 0x598333
cmp al, 0xa
jne 0x598336
inc esi
jmp 0x598321
mov al, byte [esi]
test al, al
jne 0x598354
mov dword [ebx], esi
pop esi
pop edi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
cmp al, 0x3c
jne 0x598371
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.005a6cf8
mov esp, ebp
pop ebp
ret
cmp al, 0x3e
jne 0x59838e
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.005a6cf8
mov esp, ebp
pop ebp
ret
cmp al, 0x2c
je 0x59860a
cmp al, 0x3b
je 0x59860a
mov dl, 0x3d
cmp al, dl
jne 0x598460
cmp byte [esi + 1], 0x3f
jne 0x598460
mov al, byte [esi + 2]
mov ecx, esi
add esi, 2
test al, al
je 0x598405
mov edi, edi
cmp al, 0x3f
je 0x5983e4
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x5983c0
mov dword [ebx], esi
pop esi
pop edi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0
je 0x598405
mov al, byte [esi + 1]
inc esi
cmp al, 0x71
je 0x5983fd
cmp al, 0x51
je 0x5983fd
cmp al, 0x62
je 0x5983fd
cmp al, 0x42
jne 0x598405
mov al, byte [esi + 1]
inc esi
cmp al, 0x3f
je 0x598424
mov dword [ebx], esi
pop esi
pop edi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
cmp al, 0x3f
jne 0x598429
cmp byte [esi + 1], dl
je 0x598433
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x598420
jmp 0x598405
cmp byte [esi], 0
je 0x598405
add esi, 2
mov eax, esi
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.0044f710
mov dword [ebx], esi
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp al, 0x22
jne 0x598589
mov al, byte [esi + 1]
inc esi
cmp al, 0x22
je 0x5984b2
test al, al
je 0x5984a2
cmp al, 0x5c
jne 0x598482
mov al, byte [esi + 1]
inc esi
test al, al
je 0x5984a2
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x59849a
push ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, edi
call fcn.0044f710
xor ecx, ecx
mov al, byte [esi + 1]
inc esi
cmp al, 0x22
jne 0x598472
test ecx, ecx
je 0x5984b2
push ecx
lea edx, [ebp - 0x24]
push edx
mov ecx, edi
call fcn.0044f710
cmp byte [esi], 0
je 0x5984b8
inc esi
push 0x5c88e0
mov ecx, edi
mov dword [ebx], esi
call fcn.0044f5d0
test al, al
je 0x5985f4
push str._PN
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push 0x64c904
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push 0x64c8c8
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push str._OU
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push 0x64c8a0
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push 0x653958
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push 0x64c8e4
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push str._ADMD
mov ecx, edi
call fcn.0044f5d0
test al, al
jne 0x598566
push str._PRMD
mov ecx, edi
call fcn.0044f5d0
test al, al
je 0x5985f4
cmp byte [esi], 0x40
jne 0x5985f4
push 0x5c8ce0
mov ecx, edi
call fcn.00452510
push 0x5c8ce0
mov ecx, edi
call fcn.0044f4b0
xor ecx, ecx
mov al, byte [esi]
cmp al, 0x20
je 0x5985dc
nop
cmp al, 9
je 0x5985cc
test al, al
je 0x5985cc
cmp al, 0x3e
je 0x5985cc
cmp al, 0x3c
je 0x5985cc
cmp al, 0x22
je 0x5985cc
cmp al, 0x2c
je 0x5985cc
cmp al, 0x3b
je 0x5985cc
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x5985c4
push ecx
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
call fcn.0044f710
xor ecx, ecx
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x598590
test ecx, ecx
je 0x5985dc
push ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, edi
call fcn.0044f710
mov dword [ebx], esi
pop esi
pop edi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
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.005a6cf8
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.005a6cf8
mov esp, ebp
pop ebp
ret