Function at 0x40c4a0
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 0x40c4e9
cmp ecx, 0x2b
je 0x40c4e9
mov esi, dword [eax + 0x83c]
call fcn.0045e200
mov eax, dword [ebp + 0x8c]
cmp dword [eax + 0x7f8], ebx
jne 0x40c508
mov edx, dword [eax + 0x82c]
mov eax, dword [edx + 0x24]
mov dword [ebp + 0x5550], eax
jmp 0x40c50e
mov dword [ebp + 0x5550], ebx
mov eax, ebp
call fcn.0040ba60
mov eax, ebp
mov dword [ebp + 0x557c], ebx
call fcn.0040c0c0
mov ecx, dword [ebp + 0x8c]
mov edx, dword [ecx + 0x7f8]
cmp edx, 0x14
je 0x40c5b1
cmp edx, 0x18
je 0x40c5b1
mov eax, edx
cmp eax, 0x33
jl 0x40c544
cmp eax, 0x3c
jle 0x40c5b1
cmp eax, ebx
jne 0x40c554
mov eax, dword [ecx + 0x82c]
cmp dword [eax + 0x24], 0x23
je 0x40c5b1
call fcn.00456830
test al, al
jne 0x40c5b1
cmp edx, 0x1f
jne 0x40c56e
mov dword [ebp + 0x5560], 0x1388
jmp 0x40c5b7
mov eax, ecx
call fcn.00456770
test al, al
je 0x40c585
mov dword [ebp + 0x5560], 0x96
jmp 0x40c5b7
mov eax, ecx
call fcn.00457130
test al, al
je 0x40c5a5
cmp dword [ebp + 0x5550], 1
jne 0x40c5a5
mov dword [ebp + 0x5560], 0x96
jmp 0x40c5b7
mov dword [ebp + 0x5560], 0x32
jmp 0x40c5b7
mov dword [ebp + 0x5560], ebx
push 0x60
lea esi, [ebp + 0x654]
push ebx
push esi
call fcn.0062e530
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 0x40c6d1
cmp eax, 3
je 0x40c6d1
cmp eax, 5
je 0x40c6d1
cmp eax, 6
je 0x40c6d1
cmp eax, 8
je 0x40c6d1
mov eax, 0x114
call fcn.005b57b0
add eax, 0x1a9
mov dword [ebp + 0x5538], eax
push 0x42
lea eax, [ebp + 0x55a8]
push ebx
push eax
call fcn.0062e530
add esp, 0xc
mov edi, ebp
call fcn.0041d870
mov ecx, dword [ebp + 0x144]
mov dword [ecx + 0x24], eax
mov esi, dword [ebp + 0x144]
call fcn.0048da40
xor edi, edi
mov edx, dword [ebp + 0x144]
lea esi, [ebx + edx + 0x28]
mov eax, ebp
mov dword [esi + 0x2c], edi
call fcn.0041dba0
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 0x40c700
mov ecx, dword [ebp + 0x8c]
cmp dword [ecx + 0x768], 0
je 0x40c78d
cmp dword [ecx + 0x7f8], 0x12
jne 0x40c78d
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 2]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
xor edi, edi
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 6]
call fcn.0048d8c0
jmp 0x40cdf5
mov edx, dword [ecx + 0x7f8]
cmp edx, 0x2a
jne 0x40c827
mov esi, dword [ebp + 0x144]
add esi, 0x28
or edx, 0xffffffff
xor edi, edi
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 2
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 4]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 7
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x168
lea edi, [edx + 6]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x1b8
or edx, edx
mov edi, 6
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x17
jne 0x40c85a
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3b]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3b
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x3d
jne 0x40c8a4
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3f
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x44]
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x3e
jne 0x40c8ee
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x45
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x40]
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x3f
jne 0x40c938
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3f
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x42]
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x40
jne 0x40c982
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3f
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x41]
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x41
jne 0x40c9e4
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3f
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x43]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 0x44
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x42
jne 0x40ca46
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3e
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x40]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 0x49
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x43
jne 0x40caa8
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x3d]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3e
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x40]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 0x48
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x44
jne 0x40cb3d
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x4b]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3d
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x40]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 0x42
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x168
lea edi, [edx + 0x42]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x1b8
or edx, edx
mov edi, 0x40
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x45
jne 0x40cc01
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x4b]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3d
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x3f]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 0x3f
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x168
lea edi, [edx + 0x43]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x1b8
or edx, edx
mov edi, 0x41
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x208
lea edi, [edx + 0x41]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x258
or edx, edx
mov edi, 0x43
call fcn.0048d8c0
jmp 0x40cdf5
cmp edx, 0x46
jne 0x40ccdc
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 0x4b]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0x3d
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0x3f]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x118
or edx, edx
mov edi, 0x3f
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x168
lea edi, [edx + 0x43]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x1b8
or edx, edx
mov edi, 0x41
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x208
lea edi, [edx + 0x41]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x258
or edx, edx
mov edi, 0x43
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x2a8
lea edi, [edx + 0x49]
call fcn.0048d8c0
jmp 0x40cdf5
call fcn.00456890
test al, al
je 0x40ccfe
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 3]
call fcn.0048d8c0
jmp 0x40cdf5
call fcn.00456830
test al, al
je 0x40cd50
test edx, edx
jne 0x40cd50
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 5]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0xb
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 3]
call fcn.0048d8c0
jmp 0x40cdf5
call fcn.00456830
test al, al
je 0x40cd9f
test edx, edx
je 0x40cd9f
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0x28
lea edi, [edx + 5]
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
add esi, 0x78
or edx, edx
mov edi, 0xb
call fcn.0048d8c0
mov esi, dword [ebp + 0x144]
or edx, 0xffffffff
add esi, 0xc8
lea edi, [edx + 0xf]
call fcn.0048d8c0
jmp 0x40cdf5
mov edi, ebp
call fcn.0040d240
test al, al
jne 0x40cdf5
mov eax, ebp
call fcn.0041d7e0
test al, al
jne 0x40cdf5
call fcn.0041d870
mov ecx, dword [ebp + 0x144]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 0x144]
xor edi, edi
cmp dword [edx + 0x24], edi
jle 0x40cdf5
xor ebx, ebx
mov eax, dword [ebp + 0x144]
lea esi, [ebx + eax + 0x28]
or edx, 0xffffffff
call fcn.0048d8c0
mov ecx, dword [ebp + 0x144]
add edi, 1
add ebx, 0x50
cmp edi, dword [ecx + 0x24]
jl 0x40cdd2
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
mov eax, dword [ebp + 0x8c]
mov byte [ebp + 0x164], 0
mov dword [ebp + 0x5578], 0
cmp dword [eax + 0x768], 0
je 0x40ce42
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x40ceba
test ecx, ecx
jne 0x40ce42
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x40ceba
mov eax, dword [eax + 0x7f8]
cmp eax, 0x15
je 0x40ceba
cmp dword [ebp + 0x554c], 3
jne 0x40ceba
cmp eax, 0x29
jne 0x40ce65
mov dword [esp + 0x14], 6
jmp 0x40ce9a
test eax, eax
je 0x40ce73
mov dword [esp + 0x14], 5
jmp 0x40ce9a
mov eax, dword [ebp + 0x5550]
cmp eax, 0x1f
je 0x40ce5b
cmp eax, 0x20
jl 0x40ce88
cmp eax, 0x24
jle 0x40ce69
cmp eax, 0x25
jl 0x40ce9a
cmp eax, 0x28
jg 0x40ce9a
mov dword [esp + 0x14], 4
fild dword [esp + 0x14]
mov dword [ebp + 0x5d4], 0xc8
fmul qword [0x688aa0]
fsubr qword [0x689278]
fstp dword [ebp + 0x5d0]
mov edi, dword [ebp + 0x160]
call fcn.00420fd0
pop edi
pop esi
pop ebp
pop ebx
ret 4