Function at 0x40af90
Capabilities:
Parse credit card information

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
mov eax, dword [ebp + 0x8c]
xor ebx, ebx
mov dword [ebp + 0x5568], ebx
mov byte [ebp + 0x5c4], bl
mov dword [ebp + 0x5554], ebx
mov ecx, dword [eax + 0x888]
mov dword [ebp + 0x5768], ecx
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x32
push esi
push edi
je 0x40afd9
cmp ecx, 0x2b
je 0x40afd9
mov esi, dword [eax + 0x83c]
call fcn.0045abb0
mov eax, dword [ebp + 0x8c]
cmp dword [eax + 0x7f8], ebx
jne 0x40aff8
mov edx, dword [eax + 0x82c]
mov eax, dword [edx + 0x24]
mov dword [ebp + 0x5550], eax
jmp 0x40affe
mov dword [ebp + 0x5550], ebx
mov eax, ebp
call fcn.0040a550
mov eax, ebp
mov dword [ebp + 0x557c], ebx
call fcn.0040abb0
mov ecx, dword [ebp + 0x8c]
mov edx, dword [ecx + 0x7f8]
cmp edx, 0x14
je 0x40b0a1
cmp edx, 0x18
je 0x40b0a1
mov eax, edx
cmp eax, 0x33
jl 0x40b034
cmp eax, 0x3c
jle 0x40b0a1
cmp eax, ebx
jne 0x40b044
mov eax, dword [ecx + 0x82c]
cmp dword [eax + 0x24], 0x23
je 0x40b0a1
call fcn.00453890
test al, al
jne 0x40b0a1
cmp edx, 0x1f
jne 0x40b05e
mov dword [ebp + 0x5560], 0x1388
jmp 0x40b0a7
mov eax, ecx
call fcn.004537d0
test al, al
je 0x40b075
jmp 0x796bfb
mov eax, ecx
call fcn.00454190
test al, al
je 0x40b095
cmp dword [ebp + 0x5550], 1
jne 0x40b095
mov dword [ebp + 0x5560], 0x96
jmp 0x40b0a7
mov dword [ebp + 0x5560], 0x32
jmp 0x40b0a7
mov dword [ebp + 0x5560], ebx
push 0x60
lea esi, [ebp + 0x654]
push ebx
push esi
call fcn.00626020
mov eax, 0xffffff9c
mov dword [ebp + 0x5f0], eax
mov ecx, 0x320
mov dword [ebp + 0x60c], ecx
mov dword [ebp + 0x624], ebx
mov dword [ebp + 0x63c], ebx
mov dword [esi], ebx
mov dword [ebp + 0x5f4], eax
mov dword [ebp + 0x610], ecx
mov dword [ebp + 0x628], ebx
mov dword [ebp + 0x640], ebx
mov dword [ebp + 0x664], 1
mov dword [ebp + 0x5f8], eax
mov dword [ebp + 0x614], ecx
mov dword [ebp + 0x62c], ebx
mov dword [ebp + 0x644], ebx
mov dword [ebp + 0x674], 2
mov dword [ebp + 0x5fc], eax
mov dword [ebp + 0x618], ecx
mov dword [ebp + 0x630], ebx
mov dword [ebp + 0x648], ebx
mov dword [ebp + 0x684], 3
mov dword [ebp + 0x600], eax
mov dword [ebp + 0x61c], ecx
mov dword [ebp + 0x634], ebx
mov dword [ebp + 0x64c], ebx
mov dword [ebp + 0x694], 4
mov dword [ebp + 0x604], eax
mov dword [ebp + 0x620], ecx
mov dword [ebp + 0x638], ebx
mov dword [ebp + 0x650], ebx
mov dword [ebp + 0x6a4], 5
mov eax, dword [ebp + 0x554c]
add esp, 0xc
cmp eax, 1
mov dword [ebp + 0x553c], ebx
je 0x40b1c1
cmp eax, 3
je 0x40b1c1
cmp eax, 5
je 0x40b1c1
cmp eax, 6
je 0x40b1c1
cmp eax, 8
je 0x40b1c1
mov eax, 0x114
call fcn.005af400
add eax, 0x1a9
mov dword [ebp + 0x5538], eax
push 0x42
lea eax, [ebp + 0x55a8]
push ebx
push eax
call fcn.00626020
add esp, 0xc
mov edi, ebp
call fcn.0041bee0
mov ecx, dword [ebp + 0x144]
mov dword [ecx + 0x24], eax
mov esi, dword [ebp + 0x144]
call fcn.00489cd0
xor edi, edi
mov edx, dword [ebp + 0x144]
lea esi, [ebx + edx + 0x28]
mov eax, ebp
mov dword [esi + 0x2c], edi
call fcn.0041c210
add ebx, 0x50
add edi, 1
cmp ebx, 0x320
mov dword [esi + 8], eax
mov dword [esi + 0xc], 8
mov dword [esi + 0x34], 0xffffffff
jl 0x40b1f0
mov ecx, dword [ebp + 0x8c]
cmp dword [ecx + 0x768], 0
je 0x40b27d
cmp dword [ecx + 0x7f8], 0x12
jne 0x40b27d
jmp 0x79bd28
mov edx, dword [ecx + 0x7f8]
jmp 0x79bbb4