Function at 0x41f380
Capabilities:
Parse credit card information

Disassembly:
push ecx
mov eax, dword [edi]
fldz
cmp dword [eax + 0x7f8], 0x13
push ebx
push esi
jne 0x41f3e9
mov dword [edi + 0x58], 0x64
cmp byte [eax + 0x8c5], 0
jne 0x41f3e9
mov ecx, dword [0x6a9f00]
fst dword [esp + 8]
fcomp dword [ecx + 0x9f8]
mov esi, dword [eax + 0x784]
fnstsw ax
test ah, 0x44
jnp 0x41f3d3
fld dword [ecx + 0x9f8]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x31
fstp dword [esp]
mov ecx, esi
call fcn.00515020
fldz
mov eax, dword [edi]
cmp dword [eax + 0x768], 0
je 0x41f46f
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x41f40f
test ecx, ecx
jne 0x41f46f
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x28
jne 0x41f46f
mov dword [edi + 0x54], 6
mov dword [edi + 0x58], 0x96
cmp byte [eax + 0x8c5], 0
jne 0x41f46f
mov ecx, dword [0x6a9f00]
fst dword [esp + 8]
fcomp dword [ecx + 0x9f8]
mov esi, dword [eax + 0x784]
fnstsw ax
test ah, 0x44
jnp 0x41f459
fld dword [ecx + 0x9f8]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x31
fstp dword [esp]
mov ecx, esi
call fcn.00515020
jmp 0x41f471
fstp st(0)
mov eax, dword [edi]
cmp dword [eax + 0x768], 0
mov ebx, 0x3e8
je 0x41f4df
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x23
je 0x41f49c
test ecx, ecx
jne 0x41f4df
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0x32
jne 0x41f4df
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x144]
push 0x20
call fcn.00489a50
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x144]
push 0x14
call fcn.00489a50
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x144]
push 0x20
call fcn.00489a50
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x144]
push 0xe
call fcn.00489a50
mov dword [edi + 0x5c], ebx
mov eax, dword [edi]
cmp dword [eax + 0x7f8], 0x2b
jne 0x41f504
mov ecx, dword [eax + 0x81c]
mov dword [ecx + 8], 0
mov edx, dword [edi]
mov esi, dword [edx + 0x81c]
call fcn.0051d630
mov eax, dword [edi]
cmp dword [eax + 0x7f8], 0x1b
jne 0x41f572
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x144]
push 4
call fcn.00489a50
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x144]
push 0x17
call fcn.00489a50
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x144]
push 0x27
call fcn.00489a50
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x144]
push 0x1f
call fcn.00489a50
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x144]
push 0x23
call fcn.00489a50
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x144]
push 0x27
call fcn.00489a50
mov dword [edi + 0x5c], ebx
mov ecx, dword [edi]
cmp dword [ecx + 0x7f8], 0x15
jne 0x41f5a0
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x144]
push 0
call fcn.00489a50
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x144]
push 0xe
call fcn.00489a50
mov dword [edi + 0x5c], ebx
mov eax, dword [edi]
cmp dword [eax + 0x768], 0
je 0x41f5e9
jmp 0x79b25a
mov ecx, dword [edi]
mov eax, dword [ecx + 0x7f8]
cmp eax, 0x33
jl 0x41f5fb
cmp eax, 0x3c
jle 0x41f60b
test eax, eax
jne 0x41f612
mov ecx, dword [ecx + 0x82c]
cmp dword [ecx + 0x24], 0x23
jne 0x41f612
mov esi, edi
call fcn.004286f0
mov eax, dword [edi]
cmp dword [eax + 0x7f8], 0
jne 0x41f6aa
mov eax, dword [eax + 0x82c]
test eax, eax
je 0x41f631
cmp dword [eax + 0x2c], 0
jg 0x41f6aa
mov eax, dword [edi + 4]
cmp dword [eax + 0x5550], 5
jne 0x41f6aa
lea esi, [eax + 0xac]
call fcn.0041de80
push 0xffffffffffffffff
mov ebx, 1
push 0
mov byte [eax + 0x144], bl
push eax
mov eax, ebx
lea ecx, [ebx + 4]
call fcn.0045db60
mov eax, dword [edi + 4]
lea esi, [eax + 0xac]
call fcn.0041de80
push 0xffffffffffffffff
push 0
mov byte [eax + 0x144], bl
push eax
lea eax, [ebx + 1]
lea ecx, [ebx + 6]
call fcn.0045db60
mov eax, dword [edi + 4]
lea esi, [eax + 0xac]
call fcn.0041de80
push 0xffffffffffffffff
push 0
mov byte [eax + 0x144], bl
push eax
lea eax, [ebx + 2]
lea ecx, [ebx + 5]
call fcn.0045db60
mov eax, dword [edi]
cmp dword [eax + 0x7f8], 0x18
jne 0x41f6c9
mov dword [edi + 0xa8], 0xffffffff
mov dword [edi + 0xac], 0xffffffff
cmp dword [eax + 0x7f8], 0x32
jne 0x41f6d8
push edi
call fcn.0042cee0
pop esi
pop ebx
pop ecx
ret