Function at 0x600b9609
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor edx, edx
movzx ecx, word [edi]
test byte [edi + 0x1c], 2
lea eax, [edi + 0x10]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov ebx, dword [eax]
mov dword [ebp + 0xc], edx
jne 0x600b9662
cmp ecx, 0x3e
jne 0x600b9644
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x248]
jmp 0x600b965a
cmp ecx, 0x3d
je 0x600b964e
cmp ecx, 0x3f
jne 0x600b9662
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x28c]
mov eax, dword [eax + 8]
and al, 0xf8
mov dword [ebp + 0xc], eax
cmp ebx, edx
mov esi, ebx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], edx
je 0x600b97c2
movzx eax, word [esi]
cmp eax, 0x1f
je 0x600b96e5
cmp eax, 0x40
jle 0x600b96eb
cmp eax, 0x44
jle 0x600b96e5
cmp eax, 0x45
je 0x600b96d2
cmp eax, 0x46
je 0x600b96bd
cmp eax, 0x47
jne 0x600b96eb
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
and al, 0xf8
push eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
and al, 0xf8
push eax
push dword [ebp + 8]
call fcn.600d40bc
add esp, 0xc
test eax, eax
je 0x600b9853
jmp 0x600b9762
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
and al, 0xf8
push eax
push dword [ebp + 8]
call fcn.600d4071
pop ecx
pop ecx
jmp 0x600b96b0
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
and al, 0xf8
push eax
push dword [ebp + 8]
call fcn.600d40a9
jmp 0x600b96ce
cmp byte [esi + 3], 0xfe
jne 0x600b975a
cmp ecx, 0x3d
je 0x600b96f5
cmp ecx, 0x3f
jne 0x600b96ff
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 4]
test al, 1
jne 0x600b974c
cmp dword [ebp + 0xc], edx
je 0x600b974c
cmp ebx, esi
je 0x600b974c
jmp 0x600b971a
push dword [ebp + 0x10]
push ebx
call fcn.600b48cf
dec dword [edi + 0x18]
pop ecx
pop ecx
mov ebx, eax
cmp dword [ebx + 0x20], esi
jne 0x600b970a
and byte [ebx + 3], 0
push 0
push dword [ebp + 0xc]
mov word [ebx], 0x44
mov byte [ebx + 2], 0x3d
push dword [ebp + 8]
call fcn.600892e5
add esp, 0xc
mov dword [ebx + 0x10], eax
test eax, eax
je 0x600b9853
mov eax, dword [ebp - 0x10]
mov dword [eax], ebx
and dword [ebp + 0xc], 0
lea eax, [esi + 0x20]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax]
jmp 0x600b97af
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
and al, 0xf8
cmp dword [ebp + 0xc], 0
je 0x600b97ac
cmp dword [ebp - 8], 0x3d
je 0x600b9774
cmp dword [ebp - 8], 0x3f
jne 0x600b9792
cmp dword [ebp - 4], 0
je 0x600b9792
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0xc]
and eax, 1
push eax
push dword [ebp + 8]
call fcn.600d3905
add esp, 0x10
jmp 0x600b97a1
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.600c46b5
add esp, 0xc
test eax, eax
je 0x600b9853
inc dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov esi, dword [esi + 0x20]
inc dword [ebp - 4]
mov ecx, dword [ebp - 8]
xor edx, edx
cmp esi, edx
jne 0x600b9672
cmp dword [ebp + 0xc], edx
je 0x600b985c
test byte [edi + 0x1c], 2
jne 0x600b9829
cmp ecx, 0x3f
jne 0x600b97e4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x278]
jmp 0x600b97fa
cmp ecx, 0x3d
je 0x600b97ee
cmp ecx, 0x3e
jne 0x600b9829
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x298]
mov eax, dword [eax + 8]
and al, 0xf8
cmp eax, edx
je 0x600b9829
push eax
push dword [ebp + 0xc]
push ecx
call fcn.600c46b5
add esp, 0xc
mov dword [ebp + 0xc], eax
test eax, eax
je 0x600b9853
jmp 0x600b9829
push dword [ebp + 0x10]
push ebx
call fcn.600b48cf
dec dword [edi + 0x18]
pop ecx
pop ecx
mov ebx, eax
cmp dword [ebx + 0x20], 0
jne 0x600b9819
and byte [ebx + 3], 0
push 0
push dword [ebp + 0xc]
mov word [ebx], 0x44
mov byte [ebx + 2], 0x3d
push dword [ebp + 8]
call fcn.600892e5
add esp, 0xc
mov dword [ebx + 0x10], eax
test eax, eax
jne 0x600b9857
xor eax, eax
jmp 0x600b98a8
mov eax, dword [ebp - 0x10]
mov dword [eax], ebx
test ebx, ebx
je 0x600b98a5
cmp dword [edi + 0x18], 1
jne 0x600b98a5
test byte [edi + 0x1c], 0x20
jne 0x600b9896
mov ax, word [ebx]
lea esi, [ebx + 0x10]
mov word [edi], ax
mov al, byte [ebx + 2]
mov byte [edi + 2], al
mov al, byte [ebx + 3]
mov byte [edi + 3], al
mov edi, dword [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and word [ebx], 0
and byte [ebx + 2], 0
and byte [ebx + 3], 0
jmp 0x600b98a5
cmp dword [ebp - 8], 0x3f
jne 0x600b98a5
mov word [edi], 0x4d
mov byte [edi + 2], 0xb0
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret