Function at 0x5d9330
Capabilities:
Parse credit card information

Disassembly:
mov edx, dword [esp + 0x18]
mov edi, 0x20
cmp eax, 6
jne 0x5d92dc
cmp ecx, 0x2e
jne 0x5d929e
mov eax, dword [esp + 0x28]
cmp eax, 0x2a
je 0x5d92b4
cmp eax, 0x2f
je 0x5d92b4
cmp eax, 0x5c
je 0x5d92b4
cmp eax, 0x5e
je 0x5d92b4
cmp eax, 0x27
jne 0x5d929e
lea ecx, [esp + 0x10]
call 0x5f47c0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov dword [esp + 0x20], ebp
mov bl, 1
jmp 0x5d9441
mov ecx, dword [esp + 0x10]
dec edx
push 6
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov dword [esp + 0x20], ebp
jmp 0x5d9441
lea ecx, [esp + 0x10]
call 0x5f47c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x5d9441
cmp eax, 4
jne 0x5d9352
mov ecx, dword [esp + 0x28]
push ecx
call 0x66c358
add esp, 4
test eax, eax
jne 0x5d9435
cmp dword [esp + 0x28], 0x5f
je 0x5d9435
lea edx, [esp + 0x34]
push 0x64
push edx
lea ecx, [esp + 0x18]
call 0x5ff980
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call 0x5facf0
test al, al
je 0x5d9340
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x5d9441
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], 7
push 7
mov edx, dword [ecx]
jmp 0x5d93b6
cmp eax, 3
jne 0x5d93c7
mov ecx, dword [esp + 0x28]
push ecx
call 0x66c2b3
add esp, 4
test eax, eax
jne 0x5d9435
mov eax, dword [esp + 0x28]
cmp eax, 0x2e
je 0x5d9435
cmp eax, 0x65
je 0x5d9435
cmp eax, 0x45
je 0x5d9435
cmp eax, 0x2b
je 0x5d9395
cmp eax, 0x2d
jne 0x5d93ab
mov eax, dword [esp + 0x24]
cmp eax, 0x65
je 0x5d9435
cmp eax, 0x45
je 0x5d9435
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push eax
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
mov bl, 1
jmp 0x5d9441
cmp eax, 5
jne 0x5d93d3
cmp dword [esp + 0x28], 0x27
jmp 0x5d93dd
cmp eax, 8
jne 0x5d940f
cmp dword [esp + 0x28], 0x22
jne 0x5d964d
cmp ecx, 0x5c
je 0x5d964d
lea ecx, [esp + 0x10]
call 0x5f47c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
jmp 0x5d9441
cmp eax, 1
je 0x5d9419
cmp eax, 2
jne 0x5d9439
mov cl, byte [esp + 0x1d]
test cl, cl
je 0x5d9439
mov ecx, dword [esp + 0x10]
dec edx
push eax
push edx
mov ebx, dword [ecx]
call dword [ebx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x5d9441
mov eax, dword [esp + 0x20]
cmp eax, ebp
jne 0x5d964d
mov ecx, dword [esp + 0x28]
push ecx
call dword [esp + 0xb4]
add esp, 4
test al, al
je 0x5d9472
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 1
jmp 0x5d9649
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jne 0x5d9499
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 2
jmp 0x5d9649
cmp eax, 0x27
jne 0x5d94cf
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
test bl, bl
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x1c]
je 0x5d94c0
dec eax
push eax
call dword [edx + 0x48]
mov eax, 6
jmp 0x5d9649
dec eax
push eax
call dword [edx + 0x48]
mov eax, 5
jmp 0x5d9649
cmp eax, 0x22
jne 0x5d94f2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 8
jmp 0x5d9649
push eax
call 0x66c2b3
add esp, 4
test eax, eax
jne 0x5d9630
cmp dword [esp + 0x28], 0x2e
jne 0x5d951f
mov ecx, dword [esp + 0x2c]
push ecx
call 0x66c2b3
add esp, 4
test eax, eax
jne 0x5d9630
mov edx, dword [esp + 0x28]
push edx
call 0x66c235
add esp, 4
test eax, eax
je 0x5d954e
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov eax, 4
jmp 0x5d9649
mov bl, byte [esp + 0x28]
cmp bl, 0x80
jae 0x5d956b
movsx eax, bl
push eax
call 0x66c358
add esp, 4
test eax, eax
jne 0x5d95eb
cmp bl, 0x25
je 0x5d9601
cmp bl, 0x5e
je 0x5d9601
cmp bl, 0x26
je 0x5d9601
cmp bl, 0x2a
je 0x5d9601
cmp bl, 0x28
je 0x5d9601
cmp bl, 0x29
je 0x5d9601
cmp bl, 0x2d
je 0x5d9601
cmp bl, 0x2b
je 0x5d9601
cmp bl, 0x3d
je 0x5d9601
cmp bl, 0x7c
je 0x5d9601
cmp bl, 0x7b
je 0x5d9601
cmp bl, 0x7d
je 0x5d9601
cmp bl, 0x5b
je 0x5d9601
cmp bl, 0x5d
je 0x5d9601
cmp bl, 0x3a
je 0x5d9601
cmp bl, 0x3b
je 0x5d9601
cmp bl, 0x3c
je 0x5d9601
cmp bl, 0x3e
je 0x5d9601
cmp bl, 0x2c
je 0x5d9601
cmp bl, 0x2f
je 0x5d9601
cmp bl, 0x3f
je 0x5d9601
cmp bl, 0x21
je 0x5d9601
cmp bl, 0x2e
je 0x5d9601
cmp bl, 0x7e
je 0x5d9601
mov eax, dword [esp + 0x28]
cmp eax, 0x40
je 0x5d9605
cmp eax, 0x5c
je 0x5d9605
mov eax, dword [esp + 0x20]
xor bl, bl
jmp 0x5d964d
mov eax, dword [esp + 0x28]
cmp eax, 0x29
je 0x5d9613
cmp eax, 0x5d
je 0x5d9613
xor bl, bl
jmp 0x5d9615
mov bl, 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 6
jmp 0x5d9649
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 3
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, ecx
jae 0x5d96ac
push ebx
mov dl, byte [esp + 0x1d]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0x18]
inc edx
cmp eax, 0x100
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x5d9680
mov eax, edx
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
xor ecx, ecx
cmp eax, 0x100
setge cl
add ecx, edx
mov dword [esp + 0x28], eax
push ecx
lea ecx, [esp + 0x14]
call fcn.005bd4f0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x5d96c4
mov ecx, edi
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1d], 1
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
cmp edx, edi
jb 0x5d9242
mov ecx, dword [esp + 0x10]
dec edx
push eax
push edx
mov esi, dword [ecx]
call dword [esi + 0x48]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret